Communications link failure问题的另一个解决方式

Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. 问题的另一个解决方式

很多的解决对策都是修改wait_timeout和interactive_timeout;
但是我的这样没有解决;
死磕了半天时间,终于解决了:直接写出结果吧!

去看mysql的errorlog,看到类似如下的信息:

Forcing close of thread xxxxx user: ‘root’

发现这算属MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“ 假死”。

解决的方案很简单,结束这个反查的过程,禁止任何解析。

1、打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:

skip-name-resolve

2、在my.ini添加的内容:

skip-name-resolve

 任务管理器重启MySQL服务即可

你可能感兴趣的:(Communications link failure问题的另一个解决方式)