这个问题是在迁移数据库、备份还原或数据导入时报错:
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的大小即可,以下是两个解决办法:
set global max_allowed_packet = 1024*1024*512 ;
以上是命令行修改,会在重启后失效,修改值为 512M,可以根据实际情况调整数值,因为参数生效范围为global,不是session.,所以服务器重启设置会失效。
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';