当前位置:   article > 正文

Navicat报Got a packet bigger than 'max_allowed_packet' bytes错误_navicat导入时got a packet bigger than

navicat导入时got a packet bigger than

因为要换服务器了,所以要把上一个服务器里的东西都换到新买的服务器里,在进行数据库迁移的时候出现了点小问题,就是navicat报了Got a packet bigger than‘max_allowed_packet’bytes错误,看了下别人的文章,然后解决了,下面把解决方法说一下

 今天将博客的数据库进行了迁移,在执行sql脚本的时候报了Got a packet bigger than‘max_allowed_packet’bytes的错误,上网搜了一下,发现是由于max_allowed_packet的值设置过小的原 因,知道原因就好办了,只需要将max_allowed_packet值设置大一点就OK了。

 

第一步:在navicat界面点击F6进入mysql的控制台页面,输入:mysql>show VARIABLES like '%max_allowed_packet%';回车来查看最大值,然后就可以看到

++——————–+———+
| Variable_name | Value |
+——————–+———+
| max_allowed_packet | 1048576 |

+——————–+———+

说明现在最大值是1M,太小了,所以我们要对他的值进行重新设置

 

第二步:输入命令:set global max_allowed_packet = 210241024*10;回车,然后退出登录

第三步:重新登录后输入第一步的命令再次查看他的值

 

+--------------------+------------+

| Variable_name      | Value      |

+--------------------+------------+

| max_allowed_packet | 1073741824 |

+--------------------+------------+

1 row in set

发现值已经发生了变化,这样就OK了

 

注意:max_allowed_packet 针对的是一个事务中的一行记录大小,当一行记录超过了限制的大小,将会报错。sql文件中每次insert完进同一张表的所有数据被称为一个数据包(packet),max_allowed_packet就是来限制这个的大小的阈值,大于这个值,mysql的I/O连接会关闭,就会报这个错。还有就是,使用这种方法,重启服务器之后又恢复默认值了。这里博主只是导数据的时候临时将其值设置大一点,导完之后尽量让其恢复原值,因为max_allowed_packet设置过大可能会导致服务器太忙来不及接收,网络差的时候也可能会出现丢包的现象。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/569879
推荐阅读
相关标签
  

闽ICP备14008679号