游戏服务器昨天突然爆了一个错误:MySqlError: Packet for query is too large (1508 > 1024). You can change thisvalue on the server by setting the max_allowed_packet' variable.google了下解决方法:
需要修改变量max_allowed_packet的值,MySql查询它的大小(单位字节):
Win7解决方案:
(1) 跳转到MySql安装目录,打开my.ini,编辑max_allowed_packet的值,显示为1024,我设置成了32M,具体大小按个人需要修改。
(2) 重新启动MySql服务,服务名如图所示:
>net stop MySQL56
>net start MySQL56
(3) 登入mysql,用showvariables like ‘max_allowed_packet’;查询:
OK,这样就解决了。
Linux解决方案:
因为我不知道mysql装到哪里,所以直接用whereis命令:
#whereis my.ini
My:/etc/my.cnf
找到mysql配置文件,接下来编辑这个文件,
#vim /etc/my.cnf
在[mysqld]域里加入max_allowed_packet=32M,具体大小按个人需要。
重新启动mysql:
#service mysqld stop
#service mysqld start
解决,max_allowed_packet大小查询方式与win7一致。
参考网址:http://stackoverflow.com/questions/8062496/how-to-change-max-allowed-packet-size