max_allowed_packet设置mysql消息缓冲区大小限制sever接收的数据包大小,如果大小过小,可能会影响到部分操作:这个过程大部分发生在load data file中,有时也发生在update和insert中。这个值最大可设置为1G。
在mysql命令行窗口输入 show VARIABLES like '%max_allowed_packet%'
显示结果为(第二行不一定有的):
mysql> show VARIABLES like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 1048576 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 1048576 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set
以上配置说明配置大小为1m,实际情况是不能满足使用
解决方案:编辑/etc/my.cnf修改(windows下my.ini),在[mysqld]段或mysql的server配置段进行修改,在配置文件的[mysqld]下加常用的配置参数。重启mysql服务后,参数生效。
如max_allowed_packet = 20M
重启 service mysqld restart 即可
来源:oschina
链接:https://my.oschina.net/kinglyphp/blog/4429119