项目中查询的时候会好好的,但是有时候会突然间报错:packet for query is too large(2248>1024),you can change this value on the server by setting the max_allowed_packet variable.
首先你可以先查询一下max_allowed_packet的值是多少,(此变量是用来控制其通信缓冲区的最大长度):
SHOW VARIABLES LIKE '%max_allowed_packet%';
如果太小,就可以把他改大点,当然,有两种方法:
一是改my.cnf文件:
二是使用命令行,也许这种方法在mysql重启后会变回配置文件中的值(待验证):
set global max_allowed_packet = 2*1024*1024*10
但是:即使我是使用方法一,一段时间后仍会变成默认的1024。如果哪位大神看到小弟的疑问,能否解释下?
有一篇帖子在讨论这个问题,留待以后再查找方法:帖子地址
update:2016-01-11
上边关于即使修改了配置文件中的参数也会在一天时间重置成1024的问题,原来不只是需要修改服务端,还需要修改客户端
参考地址:点击这里