今天将博客的数据库进行了迁移,在执行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 = 210241024*10
退出mysql命令行,然后重新登录。
show VARIABLES like ‘%max_allowed_packet%’;
设置完之后,再重新导入数据,OK,一切正常。
注意,使用这种方法,重启服务器之后又恢复默认值了。这里博主只是导数据的时候临时将其值设置大一点,导完之后尽量让其恢复原值,因为max_allowed_packet设置过大可能会导致服务器太忙来不及接收,网络差的时候也可能会出现丢包的现象。