连接数据库的时候报如下错误
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateExpiredException: NotAfter
这是mysql验证SSL证书失败导致的。
解决方法用两种
查看MySQL的SSL是否开启
SHOW VARIABLES LIKE 'have_ssl';
这将显示是否支持 SSL 功能。
如果结果为 “YES”,表示 MySQL 支持 SSL。
查看SSL的配置
SHOW VARIABLES LIKE 'ssl%';
这将显示 SSL 相关的配置选项和参数,例如 ssl_ca、ssl_cert、ssl_key 等。
如果这些变量都有非空的值,表示 SSL/TLS 加密已启用,并且显示了相应的证书、密钥等信息。
在连接数据库的URL上添加useSSL=false
即可。
String url = "jdbc:mysql://your-mysql-server:3306/your-db-name?useSSL=false";
要永久地关闭 MySQL 中的 SSL 连接功能,需要进行以下步骤:
[mysqld]
区块,并添加以下两行配置:
ssl=0
sudo systemctl restart mysql
这样,SSL 连接就被完全禁用了,设置将在 MySQL 重启后生效。
要关闭 MySQL 的 SSL 连接,需要重启 MySQL 服务以使更改生效。
这是因为 SSL 连接是通过启动参数和加密证书配置的。
在没有重启 MySQL 的情况下,无法更改已经生效的 SSL 配置。
所以,要在 MySQL 中关闭 SSL 连接,你需要通过编辑配置文件、设置参数并重启 MySQL 服务。
这样才能确保服务器会以正确的配置重新启动,并在之后的连接中关闭 SSL。
要使 MySQL 开启 SSL,需要进行以下步骤:
在 my.cnf
文件中添加以下行:
[mysqld]
ssl-ca=path/to/ca.pem
ssl-cert=path/to/server-cert.pem
ssl-key=path/to/server-key.pem
将 path/to/ca.pem
、path/to/server-cert.pem
和 path/to/server-key.pem
替换为数字证书机构(CA)证书、服务器证书和服务器密钥的路径。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有