一、获取ssl证书文件
windows用户操作步骤:
- 打开powershell窗口
- 依次执行以下命令下载证书:
scp root@服务器ip:/etc/mysql-ssl/ca.pem d:\certs scp root@服务器ip:/etc/mysql-ssl/server-cert.pem d:\certs scp root@服务器ip:/etc/mysql-ssl/server-key.pem d:\certs
二、转换证书格式
操作步骤:
- 打开命令提示符(cmd)
- 生成信任证书库:
keytool -importcert -alias cacert -file ca.pem -keystore mysql-truststore -storepass 你的密码
- 生成密钥库:
keytool -importkeystore -srckeystore mysql-truststore -destkeystore mysql-keystore -deststoretype pkcs12
注意:执行后会提示设置新密码
三、放置证书文件
将生成的这两个文件放入项目:
mysql-truststore(信任证书库)mysql-keystore(密钥库)
存放位置:项目的resources文件夹下

四、建立安全连接通道
执行命令:
ssh -n -l 63306:127.0.0.1:3306 root@服务器ip
说明:这样可以通过本地的63306端口安全访问服务器的mysql服务。而127.0.0.1:3306 是执行docker容器时,我设置了mysql 容器默认只能通过服务器本机(127.0.0.1)连接,如果执行容器没有限制ip地址,则可以使用公网ip。
五、配置spring boot
在application.yml中添加配置:
spring:
datasource:
url: jdbc:mysql://127.0.0.1:63306/数据库名?usessl=true&
trustcertificatekeystoreurl=file:证书路径&
trustcertificatekeystorepassword=你的密码&
clientcertificatekeystoreurl=file:证书路径&
clientcertificatekeystorepassword=你的密码
username: 数据库用户名
password: 数据库密码
关键点说明:
usessl=true表示启用ssl加密- 两个证书路径要替换为实际存放位置
- 密码要保持一致
- 路径必须是绝对路径,例:
clientcertificatekeystoreurl=file:b:\xxx\src\main\resources\mysql-ssl\mysqlkeystore
这样就完成了mysql的ssl安全连接配置!
到此这篇关于springboot + mysql 实现 ssl 连接配置的文章就介绍到这了,更多相关springboot mysql ssl连接内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论