mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法

在进行数据库操作如迁移、备份还原时遇到1153错误,表示数据包超过max_allowed_packet限制。解决方案包括临时和永久修改此参数:通过命令行临时设置为512M,或在my.ini配置文件中永久修改并重启MySQL服务。
摘要由CSDN通过智能技术生成

目录

出现情况:

出现原因:

解决办法:

1.临时修改

2.永久修改


出现情况:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值