文章目录

  • ​​1、问题描述​​
  • ​​2、分析​​
  • ​​3、解决方案​​

1、问题描述

今天在导入sql文件的时候,出现了以下错误

2006 - MySQL server has gone away

2、分析

最后发现是由于sql脚本文件太大了,有70M。
这是sql文件过大,Mysql执行时间超过最大包大小,导致连接断开。

客户端max_allowed_packet取值范围4096-2G,默认值是16M
客户端net_buffer_length取值范围1024-512M,默认值16K
服务器max_allowed_packet取值范围1024-1G,默认值是1M
服务器net_buffer_length取值范围1024-1M, 默认值16K

3、解决方案

  • 查看通信缓冲区大小:
show global variables like 'max_allowed_packet';

2006 - MySQL server has gone away_取值范围

  • 调整大小为80M
set global max_allowed_packet=1024*1024*80;

2006 - MySQL server has gone away_默认值_02

然后再次导入sql文件就成功了。