文章目录
- 一、Mysql启用SSL配置
- 1.检查mysql是否支持ssl
- 2.设置用户是否使用ssl连接
- 1.查看用户是否使用SSL连接
- 2.强制某用户使用SSL连接
- 3.测试不使用ssl能否连接上
- 4.取消用户使用ssl连接
- 二、JDBC连接Mysql配置
- 1.使用jdk自带的keytool工具导入mysql客户端证书到密钥仓库,并生成秘钥仓库文件;
- 2.jdbc连接mysql配置
- 三、可能出现的错误
-
一、Mysql启用SSL配置
1.检查mysql是否支持ssl
在linux端用root账号进入mysql命令行界面,查看当前版本mysql数据库是否支持ssl,如果出现以下结果表示支持,如果没有考虑更换版本,或者编译一个带有SSL版本的mysql
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161002636.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
shell>show variables like '%ssl%';
2.设置用户是否使用ssl连接
1.查看用户是否使用SSL连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161022382.png)
shell>use mysql;
shell>select ssl_type from user where user='cbmain' and host='%';
2.强制某用户使用SSL连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161034369.png)
shell>ALTER USER 'cbmain'@'%' REQUIRE SSL;
shell>FLUSH PRIVILEGES;
3.测试不使用ssl能否连接上
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161110274.png)
shell>./mysql -ucbmian -p -h10.22.xx.xx --ssl-mode=DISABLED;
4.取消用户使用ssl连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019112516121058.png)
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%’;查看,
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161241140.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
2.确认是否安装了jdk,并配置了环境变量,如果没有配置环境变量,只能到jdk安装的目录下使用keytoll工具
3.执行shell命令将ca.pem文件导入到密钥仓库,并生成密钥仓库文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/201911251612566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
shell>keytool -import -alias mysqlServerCACert -file ca.pem -keystore truststore.jks
2.jdbc连接mysql配置
1.将密钥仓库文件拷贝到项目的目录下
2.数据源设置(编辑settings文件)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161314586.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
3.设置jvm环境变量(编辑ltts脚本)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161326342.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
shell>-Djavax.net.ssl.trustStore=密钥仓库文件路径 -Djavax.net.ssl.trustStorePassword=密钥仓库密码
三、可能出现的错误
1.jdk版本不支持,无法生成密钥对
部分jdk7版本以及早期版本是只支持 1024 位的 DH Parma的,尝试了些网上的解决方案依旧没有作用,最终升级到jdk1.8解决了这个问题
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161340869.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0ODMyOTU5,size_16,color_FFFFFF,t_70)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)