【Mysql】Mysql开启ssl协议及Java客户端配置搭建教程

1. 安装openssl
2.生成证书并设置权限

mysql_ssl_rsa_setup --datadir=/data/database/mysql

ca-key.pem             # CA 私钥
ca.pem                    # 自签的CA证书,客户端连接也需要提供
client-cert.pem        # 客户端连接服务端需要提供的证书文件
client-key.pem         #客户端连接服务端需要提供的私钥文件
private_key.pem      #私钥公钥的私有成员
public_key.pem        #私钥公钥的共有成员
server-cert.pem       #服务端证书文件
server-key.pem       #服务端私钥文件

权限设置
chown mysql:mysql /data/database/mysql -R

3.开启ssl配置
[root@ ~]# vim /etc/my.cnf
#ssl
ssl-ca=/data/sqldata/ca.pem
ssl-cert=/data/sqldata/server-cert.pem
ssl-key=/data/sqldata/server-key.pem
4.验证mysql是否开启ssl

show global variables like ‘%ssl%’;

5.创建开启ssl用户并赋予权限

CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘123456’ REQUIRE SSL;
GRANT ALL PRIVILEGES ON . TO ‘admin’@’%’’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

6.基于mysql登录并验证用户是否开启ssl

登录

mysql -h ip -uadmin -p --ssl-cert=/data/sqldata/client-cert.pem --ssl-key=/data/sqldata/client-key.pem

验证

status;

在这里插入图片描述

7.基于 ca.pem证书生成java客户端可识别的证书密码

keytool -importcert -alias tmsMySQLCACert -file ca.pem -keystore truststore -storepass 123456

8.java客户端设置

jdbcurl:
jdbc:mysql://ip:3306/data?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&verifyServerCertificate=true&requireSSL=true&sslMode=verify_ca&trustCertificateKeyStoreUrl=file:C:/Users/20445/IdeaProjects/certificate/truststore&trustCertificateKeyStorePassword=123456

注意事项

使用过程中注意驱动使用的TLS版本是否是mysql数据库支持的版本

查看数据库tls支持的版本

SHOW GLOBAL VARIABLES LIKE ‘tls_version’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值