MYSQL阅读通信数据包出现错误处理方法

  

可能的原因:
1,网络问题,网络是否存在问题,花费了超过connect_timeout的时间去得到一个数据包
2,账号密码是否正确
3,客户端是否有权限连接该数据库
4,连接包是不是有带有正确的信息
5,中止连接一般出来的情况都是网络不好,客户端异常崩溃之类的,总之就是连接打开之后没有正常的关闭

癕YSQL阅读通信数据包出现错误处理方法"

如果都不是上面的问题,可以尝试加大max_allowed_packet_size (,max_allow_packet=256),或者使用php的短连接,不使用长连接,再或者每次查询完成后关闭连接,
避免客户端已经睡超过wait_timeout或interactive_timeout秒没有发行任何请求到服务器。(客户端连接休眠时间超过wait_timeout,互动)
实在没招了,可以启用通用查询日志,把所有查询的sql都列出来。
还是解决不了,就是更底层的原因了,网络设备故障等等。

模拟:在linux下打开多个客户端,每个客户端登录mysql,然后我们在其中的一个linux客户端下,强制杀死其他mysql客户端登录进程,同时监控error_log情况,即可出现上面日志情况。

  

MYSQL阅读通信数据包出现错误处理方法