不一定适用所有情况,就像我也找了十几篇博客,都没有解决我的问题一样。只当做参考,拓展解决问题的思路。
项目启动,与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中查看。