MySQL server has gone away解决方法和原因

如果你的SQL语句出现了“MySQL server has gone away”错误,那么很有可能是max_allowed_packet这一项设置的问题。

原因解析

MySQL通过max_allowed_packet配置项来限制接收的数据包大小,默认一般是1M,也就是说如果你插入的数据超过1M就会出错。

我们可以通过下面的语句查看

show VARIABLES like 'max_allowed_packet';

解决方法

方法一:治标不治本,使用sql语句动态修改max_allowed_packet的值,改多大你自己看着办,如果mysql服务重启则会恢复到1M。

set global max_allowed_packet = 字节数

方法二:修改配置文件。在my.ini(Windows)/my.cnf(Linux)中的[mysqld]节下添加下面的配置,同样的改多大你看着办。

max_allowed_packet = 多少M


  • 标签
  • 发表评论
当前用户:
  • 评论列表