1.原因
查询数据库返回的数据包太大,超过了默认值。
登录mysql数据库,在控制台输入命令查询默认的max_allowed_packet值,发现默认只有1024:
show VARIABLES like '%max_allowed_packet%';
2.解决
(1)在mysql控制台下输入以下命令,设置max_allowed_packet为20M
set global max_allowed_packet = 20*1024*1024;
(2)退出mysql,重启mysql服务
在服务器输入命令:
service mysqld restart
tips: 如果是mariadb版本可以另行搜索具体解决。
(3)再登录myql中查询max_allowed_packet是否修改成功
show VARIABLES like '%max_allowed_packet%';