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';

相关推荐
其实防守也摸鱼10 分钟前
前端应用的离线暂停更新策略:构建稳定可靠的渐进式部署方案
服务器·前端·数据库·学习·ai·命令行·linux系统
Leighteen27 分钟前
ORDER BY + LIMIT 的坑:为什么加了 `LIMIT` 结果顺序还乱
数据库
一个天蝎座 白勺 程序猿30 分钟前
复盘之我在金仓生产环境踩过的SQL暗坑,和攒了六年的编码规矩
数据库·sql·kingbasees
Mico181 小时前
MySQL 8.0.35 GTID + 延迟复制 + 过滤复制搭建
mysql·dba
Dylan的码园1 小时前
从Excel到数据库:数据分析全流程与Kettle ETL实战指南
数据库·数据分析·excel
l1t1 小时前
DeepSeek总结的DuckLake 架构深度剖析-1
数据库·架构
花生了什么事o1 小时前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
纪伊路上盛名在1 小时前
NVML ERROR_ RM has detected an NVML_RM version mismatch
linux·数据库·gpu·驱动
nVisual1 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件