Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法

通常项目上线前都有一些初始化数据需要导入,在今天博客系统发布前我使用sqlyog工具远程登录服务器的Mysql数据库,执行sql脚本对初始数据进行导入的时候报错:
Got a packet bigger than‘max_allowed_packet’bytes

查阅资料发现是由于max_allowed_packet的值设置过小,知道原因就好办了,只需要将max_allowed_packet值设置大一点就OK了。

通过终端进入mysql控制台,输入如下命令可以查看max_allowed_packet值的大小。
show VARIABLES like ‘%max_allowed_packet%’;
显示的结果为:
+——————–+———+
| Variable_name | Value |
+——————–+———+
| max_allowed_packet | 1048576 |
+——————–+———+

结果说明目前的配置是:1M
我们需要执行以下命令将max_allowed_packet的值设置大一点
set global max_allowed_packet = 1048576*10;
退出mysql命令行,然后重新登录然后执行命令再次查询max_allowed_packet变量的值发现已经增大了。
show VARIABLES like ‘%max_allowed_packet%’;

设置完之后,再重新导入数据,OK,一切正常。

注意,使用这种方法,重启服务器之后又恢复默认值了。这里博主只是导数据的时候临时将其值设置大一点,导完之后尽量让其恢复原值,因为max_allowed_packet设置过大可能会导致服务器太忙来不及接收,网络差的时候也可能会出现丢包的现象。

注意注意注意:
如果linux环境下且不想回复默认值建议修改配置文件,如果修改不成功把参数值10M改为 数字例如 1023213124

转载:
Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法

posted @ 2018-12-23 19:50  王凯华  阅读(2134)  评论(0编辑  收藏  举报