解决com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
报错信息
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ... ...Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
网上有好多解决办法例如:
常见解决方法一
检查mysql是否正常连接。IP,端口号,用户名,密码是否正确。至于如何检测,可以使用navicat 测试连接一下。如果连接的上,试试关闭防火墙,让别人连一下你自己的mysql,看看连的上嘛。
常见解决方法二
配置文件加上 &useSSL=false,记得改成false。这个是版本的问题,你可以看看别人的讲解。
常见解决方法三
我的navicat是能正常连接的。但是主机名只能写localhost才能连接,改成IP或者127.0.0.1就连接不上。
mysql中有个user表,将Host字段全部改为%,然后重启mysql。
常见解决方法四
我的上述的几个方法都使用了,但是还是不行。这个时候你就要看看你安装mysql版本是不是真的是你要的版本了。然后再看看配置文件(安装目录下一个叫“my.ini”的文件)。我最终是换了一下别人的配置文件才正常使用了。观察了一下配置文件,默认字符集不一致,还缺少了一些配置,具体不清楚是哪个导致的。
如果没有解决请往这里看
重启一下Mysql试试,你会有惊奇的发现他好了。
如果解决了你的问题,别忘了给个赞哦
来源地址:https://blog.csdn.net/java20xin/article/details/130899742
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341