MySQL再导入数据时报错:Got a packet bigger than 'max_allowed_packet' bytes MySQL。
具体如下图所示:
原因是因为该条数据某字段内容超过限制造成的。
网上很多人说是执行的sql文件太大了,其实不是的,是某个字段的内容超过了限制。因为我有比执行sql更大的文件是执行成功的!
解决方法有2种:
1、修改MySQL的配置文件
找到my.cnf 或者 my.ini, 在 [MySQLd] 部分添加一句: max_allowed_packet=1024M,当然,如果max_allowed_packet本来就存在,调整其值就可以了。
2、临时调整
这也是网上的大部分解决方案。
在mysql命令行中,输入 set global max_allowed_packet=524288000; 修改为 512M
以上修改后如果不生效,最好重启mysql。
如果你用的是 Navicat Premium 可以在界面中按 F6 快捷键,切换到mysql命令列界面。