一、获取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安全连接配置!













