Mysql-error-code:1153

问题描述:

Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes

问题原因:

mysql默认max_allowed_packet=1M,使用navicat导入数据的时候,默认使用的是扩展插入语句,即:

mysql> insert into tablename (cloum1,cloum2,...) values (value1,value2,...),(value1,value2,...),...;

使得单个数据包大小超过max_allowed_packet的值而报错。


navicat数据传输

https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html

解决方案

翻案一:

数据传输使用完整的插入语句,影响传输性能。

方案二:

临时修改max_allowed_packet参数,

mysql> set global max_allowed_packet = 1024102416;`

该命令将max_allowed_packet 临时修改为16M。
修改完成后,exit当前连接,重新连接mysql再执行下面的命令查看效果。

mysql> show VARIABLES like '%max_allowed_packet%';

方案三:

永久修改max_allowed_packet参数,执行:

mysql --help | grep my.cnf

找到 my.cnf 文件,在 my.cnf 中加入max_allowed_packet=16M,修改保存后重启mysql服务即可生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容