1. 文章
  2. 文章详情

mysql导入sql文件时报MySQL server has gone away错误

原因是查询结果集大小超出max_allowed_packet

MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。 

 查看当前配置: 

 mysql> show variables like 'max_allowed_packet'; 

+--------------------+---------+ | Variable_name      | Value   | 

+--------------------+---------+ | max_allowed_packet | 4194304 | 

+--------------------+---------+ 1 row in set (0.00 sec) 

 也可以用select查看:  

mysql> select @@max_allowed_packet; 

+----------------------+ | @@max_allowed_packet | 

+----------------------+ |              4194304 | 

+----------------------+ 1 row in set (0.00 sec) 

修改方法(配置文件持久化修改): 

vim /etc/my.cnf [mysqld] 

max_allowed_packet = 100M 

注意:修改配置文件以后,需要重启mysql服务才能生效。

这样导入sql就不会报错了。

发表评论

登录后才能评论

评论列表(0条)