在使用MYSQL跑比较大的数据或比较复杂的语句时,会报错([08S01] Communications link failure The last packet successfully received from the server was 933,199 milliseconds ago. The last packet sent successfully to the server was 933,199 milliseconds ago. Communications link fail ...),而且不出结果,在服务里连接上MYsql 又好了,跑小的比较正常,大的还会出现。
请问各位,这是怎么了?
是不是要加RAM? 目前是4G的
还是要加装固态硬盘?
可以试着修改一下MySQL连接参数 ,这俩试试看
wait_timeout=31536000
interactive_timeout=31536000
可以参考下这个 https://www.cnblogs.com/crazy-xf/p/15216335.html
ping 一下 MySQL 所在主机的 IP,看能否 ping 通。
解决方案如下:
第一种:MySQL数据服务没有开启导致连接失败
第二种:MySQL数据库设置成了外网不能访问,需要开启外网IP访问的功能。
第三种:可能是网络问题,导致连接不上,ping 一下 MySQL 所在主机的 IP
第四种:数据设置wait_timeout时间,在默认配置不改变的情况下,如果连续8小时内都没有访问数据库的操作,再次访问mysql数据库的时候,mysql数据库会拒绝访问。
可以先跟踪运行一段时间再说,把运行日志记录好。可以适当优化一下运行参数,比如超时时间、允许最大连接数、运行内存等等。后续如果还有这种问题,再升级硬件资源。