246  
查询码: 00000815
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
来源:https://blog.csdn.net/LQ_CSDNfdafdfa/article/details/131924236
作者: 系统管理员1 于 2024年03月05日 发布在分类 / 常见问题 / mysql ,于 2024年03月05日 编辑
linux windows 方法 数据 范围 问题 数据库

出现情况:

这个问题是在迁移数据库、备份还原或数据导入时报错:

1153:Got a packet bigger than‘max_allowed_packet’bytes

出现原因:

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

解决办法:

这句话的意思就是收到一个大于max_allowed_packet字节的数据包,简单来说修改max_allowed_packet的大小即可,以下是两个解决办法:

1.临时修改

set global max_allowed_packet = 1024*1024*512 ;

以上是命令行修改,会在重启后失效,修改值为 512M,可以根据实际情况调整数值,因为参数生效范围为global,不是session.,所以服务器重启设置会失效。

2.永久修改

max_allowed_packet=512M

2.1 以上是在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件中查找到max_allowed_packet=16M改成max_allowed_packet=512M。

2.2 然后重新启动MySQL服务:

重启方法1:可以在Windows+R查找框中查找services.msc进入服务列表,找到MySQL服务停止再启动。

重启方法2:打开任务管理器,点击服务,然后找到MySQL服务停止再启动。

2.3 验证是否修改成功

全局查看命令:

show global VARIABLES like 'max_allowed_packet';


0人参与


 历史版本

备注 修改日期 修改人
创建版本 2024-03-05 19:54:39[当前版本] 系统管理员1

 附件

附件类型

PNGPNG

wcp知识库系统-京ICP备15024440号-1 -V 5.1.9 -wcp