java 连接mysql时,报错Communications link failure

  • Post author:
  • Post category:java



不一定适用所有情况,就像我也找了十几篇博客,都没有解决我的问题一样。只当做参考,拓展解决问题的思路。

项目启动,与mysql做交互时,一直报错。手动编写jdbc连接,也同样报错。在根据网上建议,更改超时时间、ip限制、校核驱动版本等操作后,仍然无效。报错信息如下:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
......
......
......

最终解决方式:更改mysql端口。

可以通过查看服务属性,找到my.ini的位置。如下截图。

找到my.ini文件后,修改端口,共两处。原来是3306,随意修改成其他,如3307


重启mysql服务。

【至此,问题已经解决】

准确的原因还不很确定,猜测是由于某些软件对3306端口有影响。

顺便记录下操作过程中一些排查指令。

1、判断请求是否连接到数据库中,可以在数据库查询

show full processlist;

发送连接请求的同时,查询连接信息,可以判断是否有请求正在连接。

2、排查数据库问题时,可以查看mysql的错误日志。一般在my.ini同级目录下的data目录,具体文件名称在my.ini中查看。



版权声明:本文为weixin_43421537原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。