Mysql启用SSL以及JDBC连接Mysql配置

一、Mysql启用SSL配置

1.检查mysql是否支持ssl

在linux端用root账号进入mysql命令行界面,查看当前版本mysql数据库是否支持ssl,如果出现以下结果表示支持,如果没有考虑更换版本,或者编译一个带有SSL版本的mysql

在这里插入图片描述

shell>show variables like '%ssl%';

2.设置用户是否使用ssl连接

1.查看用户是否使用SSL连接

在这里插入图片描述

shell>use mysql;

shell>select ssl_type from user where user='cbmain' and host='%';

2.强制某用户使用SSL连接

在这里插入图片描述

shell>ALTER USER 'cbmain'@'%' REQUIRE SSL;

shell>FLUSH PRIVILEGES;

3.测试不使用ssl能否连接上

在这里插入图片描述

shell>./mysql -ucbmian -p -h10.22.xx.xx --ssl-mode=DISABLED;

4.取消用户使用ssl连接

在这里插入图片描述

shell>update user set ssl_type='' where user='cbmain' and host='%';

shell>FLUSH PRIVILEGES;

二、JDBC连接Mysql配置

1.使用jdk自带的keytool工具导入mysql客户端证书到密钥仓库,并生成秘钥仓库文件;

1.找到mysql证书生成的位置,可用show variables like ‘%ssl%’;查看,

在这里插入图片描述

2.确认是否安装了jdk,并配置了环境变量,如果没有配置环境变量,只能到jdk安装的目录下使用keytoll工具

3.执行shell命令将ca.pem文件导入到密钥仓库,并生成密钥仓库文件

在这里插入图片描述

shell>keytool -import -alias mysqlServerCACert -file ca.pem -keystore truststore.jks

2.jdbc连接mysql配置

1.将密钥仓库文件拷贝到项目的目录下
2.数据源设置(编辑settings文件)
在这里插入图片描述

3.设置jvm环境变量(编辑ltts脚本)
在这里插入图片描述

shell>-Djavax.net.ssl.trustStore=密钥仓库文件路径 -Djavax.net.ssl.trustStorePassword=密钥仓库密码

三、可能出现的错误

1.jdk版本不支持,无法生成密钥对

部分jdk7版本以及早期版本是只支持 1024 位的 DH Parma的,尝试了些网上的解决方案依旧没有作用,最终升级到jdk1.8解决了这个问题

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值