数据库插入数据报错:pymysql.err.OperationalError: (1153, “Got a packet bigger than ‘max_allowed_packet’ bytes”)

问题描述

为了将生产环境数据迁移到本地数据库用于开发调试和解决问题,写了一个python脚本,但是运行时报错:

pymysql.err.OperationalError: (1153, "Got a packet bigger than 'max_allowed_packet' bytes")

出现这个问题的原因是插入或更新的数据大小超过了 MySQL 服务器允许的最大数据包大小

max_allowed_packet 是一个 MySQL 配置参数,它限制了服务器可以处理的最大数据包大小

解决办法:修改mysql配置文件

增加 max_allowed_packet 值: MySQL 配置文件中增加 max_allowed_packet 的值,文件名是:my.ini
通过搜索,没有发现有max_allowed_packet 的配置项,所以直接添加:
max_allowed_packet = 16M
这里将 max_allowed_packet 的值设置为 16MB,可以根据需要调整这个值

修改后,重启mysql服务,生效,再次同步,数据插入成功

net stop mysql
net start mysql
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐