Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 问题解决 Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust
很明显出现错误后我就一直搜索Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 这个错误但是无果!
根据提示The last packet successfully received from the server was 1,302 milliseconds ago.说 从服务器成功接收到的最后一个数据包是1302毫秒之前这个错误原因应该是数据库连接超时了,但是我已经把MySql的连接失效日期改过啦!默认是8个小时。
- interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。参数默认值:28800秒(8小时)
- wait_timeout:服务器关闭非交互连接之前等待活动的秒数。
解决方法如下:
- 修改数据库连接配置在数据库连接上,加“&autoReconnect=true&failOverReadOnly=false”配置,但是mysql4以下的版本有效,mysql5以上的无效。
- 修改数据库连接有效时间,在数据库配置上设置,把数据库连接有效时间设置长一点,比如设置12小时或者24小时。**方法:**在MySql的配置文件my.ini或者mysql.xml的配置文件里边加上interactive_timeout=388000和wait_timeout=388000即可!
本作者以上问题解决不了!!!!
继续往下看!
继续往下看还有几个原因:
- Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
- Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
- Caused by: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
其中第一个问题的错误,需要把数据库连接配置德的useSSL=true改成useSSL=false
useSSL:
MySQL在高版本需要指明是否进行SSL连接
1.true 需要连接
2.false 不需要连接
就是使用JDBC跟你的数据库连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。更高版本。
到此本作者的问题就已经解决啦!!!
暂时未发现其他的错误,发现错误的小伙伴,欢迎在下方的评论区留言,互相交流经验!!!
连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。更高版本。
到此本作者的问题就已经解决啦!!!
暂时未发现其他的错误,发现错误的小伙伴,欢迎在下方的评论区留言,互相交流经验!!!
————————————————
版权声明:本文为CSDN博主「徒步的Code」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47200837/article/details/115838687