linux服务器 mysql5.7数据库开启ssl验证 + DBeaver客户端连接设置
·
centos 7 服务器
服务器装了多个mysql版本的,操作前需确认软连接是否指向当前版本which mysql#查询位置cd /usr/bin/mv mysql mysql.bak#备份ln -s /home/tools/mysql5.7.44/bin/mysql mysql#指向新地址
①修改my.cnf配置
cd /home/tools/mysql/
mv my.cnf my.cnf.25-04bak #备份原配置文件
vi my.cnf
如果有多个服务器调用该数据库,可以先切换端口,避免重复请求连接占满
如果仅有一台服务器,无通信需求 可不切换端口
port=3326 # [mysqld] [client]都需修改
#指定服务端密钥和证书路径
在[mysqld]下添加如下代码:
ssl-ca = /home/tools/mysql/ca.pem #与证书生成位置一致
ssl-cert = /home/tools/mysql/server-cert.pem
ssl-key = /home/tools/mysql/server-key.pem
#指定客户端密钥和证书路径
在[client]下添加如下代码:
ssl-ca = /home/tools/mysql/ca.pem
ssl-cert = /home/tools/mysql/client-cert.pem
ssl-key = /home/tools/mysql/client-key.pem
#强制ssl验证
在[mysqld]下添加如下代码:
require_secure_transport = ON
tls_version = TLSv1.2 #指定协议版本,非必选,根据实际情况
#skip_ssl #注释原配置 不跳过ssl验证
②停止mysql 服务
./mysql.server stop
③生成证书
在mysql bin目录执行 需先确保mysql服务已停止,再生成
cd /home/tools/mysql/bin/
./mysql_ssl_rsa_setup --datadir=/home/tools/mysql/ --uid=mysql --user=mysql
cd /home/tools/mysql/ #切换至证书路径,验证证书有效性[非必要]
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
./mysql.server start #检查证书后,启动服务
④登入mysql后 修改用户授权
ALTER USER 'newtest'@'110.11.10.%' REQUIRE SSL;
FLUSH PRIVILEGES;
exit #退出 登录测试
mysql -unewtest -p --port 3326 -h 110.11.10.1 --ssl-cert=/home/tools/mysql/client-cert.pem --ssl-key=/home/tools/mysql/client-key.pem
#登入MySQL以后查询相关配置(注意账户权限)
\s #检查当前登录状态
show global variables like '%ssl%'; #检查证书和ssl配置
SELECT user, host, ssl_type FROM mysql.user ; #检查权限
SHOW variables LIKE 'require_secure_transport'; #检查 已配置默认开启
set global require_secure_transport = 'ON'; #手动开启
⑤相关系统的配置修改jdbc url
如果有其他应用系统与该数据库通信,需修改配置 [+ 重启系统服务]
utf8 是 MySQL 内部对 UTF-8 字符集的命名别名,有的链接我用utf-8也行…
spring.datasource.url= jdbc\:mysql\://110.11.10.1\:3326/db_name?useUnicode\=true&characterEncoding\=utf8&allowMultiQueries\=true&useSSL\=true&verifyServerCertificate\=false&enabledTLSProtocols\=TLSv1.2
注:因TLS协议版本 连接该库的其他系统所使用的mysql-connector驱动版本至少应为
mysql-connector-java-5.1.47.jar 否则会报错
=======================================================
⑥Windows客户端登录 DBeaver
#我用navicat登录不成功,无法指定协议版本…

更多推荐




所有评论(0)