mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的错误

一、错误问题

这个问题是在迁移数据库、备份还原或数据导入时报错:1153 Got a packet bigger than 'max_allowed_packet' bytes

二、出现原因

sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入(使用mysql limit进行分页,循环分批处理数据));

max_allowed_packet就是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小,而mysql的默认max_allowed_packet的值为16M,所以MySQL根据配置文件会限制Server接受的数据包大小大的插入和更新会受 max_allowed_packet 参数限制,导致大数据写入或者更新失败。

三、解决办法

修改参数:

set global max_allowed_packet=1024*1024*512;

查看参数值:

show global variables like 'max_allowed_packet';

相关推荐
骑龙赶鸭几秒前
mysql binlog中QUERY_EVENT的status_var结构
数据库·mysql
Skilce6 小时前
ZrLog 高可用部署
运维·服务器·数据库·阿里云·maven
indexsunny8 小时前
互联网大厂Java求职面试实战:微服务与Spring生态全攻略
java·数据库·spring boot·安全·微服务·面试·消息队列
沪漂阿龙8 小时前
别再让数据库“吃”脏数据了!一文讲透MySQL约束,从入门到精通
数据库·mysql
skiy9 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
2401_8735449210 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
虾..10 小时前
多路复用 --- select系统调用
服务器·数据库·sql
杨云龙UP11 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
ybwycx11 小时前
mysql重置root密码(适用于5.7和8.0)
数据库·mysql·adb
色空大师11 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建