查询错误日志,频繁报Got an error reading communication packets
查找问题:
①查询max_allowed_packet包的大小
mysql> show variables like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 4194304 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
这里给的值和我my.cnf的配置值16M不一样,怀疑是没生效,需要把配置文件修改为max_allowed_packet=16777216 (写成16*1024*1024可能报错,写成16M可能不生效)
这里直接临时生效可以执行如下命令
mysql> set global max_allowed_packet=16777216;
总结
出现Got an error reading communication packets主要有一下几个点:
1、max_allowed_packet设置太小或者客户端查询要求更大内存
2、以太网协议漏洞
3、线程池有问题
4、tcp/ip配置不好
5、以太网、交换机、网线等硬件配置出现错误
6、客户端在退出会话之前没有调用mysql_close();
7、客户端睡眠时间超过wait_timeout或者interactive_timeout的值;