MySQL数据库报错(会自动关闭):Got a packet bigger than 'max_allowed_packet' bytes

mysql数据库报错:Got a packet bigger than 'max_allowed_packet' bytes

今天从使用sqlyog从服务器上导出了一个sql文件,但是导入到本地的时候,莫名的出现错误,而且MySQL数据库还自动关闭了,反反复复试验了几次均没有成功,不知道是哪里的问题,于是便一个一个表的导入。最后在导入最后一个表的时候,怎么也无法成功,一直失败。

sqlyog一直提示如下错误:Got a packet bigger than 'max_allowed_packet' bytes



经过查询终于找到了问题所在:

就是使用SQLyog工具导出MySQL数据时,当数据量大时,导出不会错误,但导入时会出现错误。如果将SQL单独执行会发现是Error Code:1153 Got a packet bigger than 'max_allowed_packet' bytes错误。

解决方法:

方法一(亲测可用):

找到你的MySQL的安装位置,用记事本等工具打开my.ini文件,如下:

在 [MySQLd] 部分添加一句(如果存在,调整其值就可以):

max_allowed_packet=16M(根据实际情况设置)
注意,在[client]和[mysql]部分增加无效,那个是客户端读取的参数。
如下:

然后重启mysql的服务:

这次再导入你的sql语句的时候就不会报错了。

方法二:
   Mysql 5.1 遇到的信息包过大问题 用客户端导入数据的时候,遇到 错误代码: 1153 - Got a packet bigger than 'max_allowed_packet' bytes 终止了数据导入。
  当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与MySQL服务器的连接”错误。
  客户端和服务器均有自己的max_allowed_packet变量,因此,如你打算处理大的信息包,必须增加客户端和服务器上的该变量。一般情况下,服务器默认max-allowed-packet为1MB
   如果你正在使用mysql客户端程序,其max_allowed_packet变量的默认值为16MB。要想设置较大的值,可用下述方式启动mysql:
  mysql>mysql --max-allowed-packet=32M

记得重启服务哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值