MySQL下当我导入一个比较大的SQL文件时出现了ERROR 2006 (HY000): MySQL server has gone away
错误,具体状况以下:html
> ll *.sql -rwxr-xr-x@ 1 bohan staff 27M Mar 26 18:08 91620_all.sql > mysql test < 91620_all.sql ERROR 2006 (HY000) at line 17128: MySQL server has gone away
上面能够看到,文件大小为27M导入的时候会报这个错误。mysql
If you are using the mysql client program, its default max_allowed_packet variable is 16MB. To set a larger value, start mysql like this:sql
shell> mysql --max_allowed_packet=32M
That sets the packet size to 32MB.shell
咱们经过MySQL相关文档能够发现默认大小是16M。ssh
全部大于16M的SQL文件都会报这个错误,咱们能够直接经过命令后增长--max_allowed_packet=32M
解决this
或者登陆MySQL客户端,修改系统变量:code
> ssh mysql mysql> set GLOBAL max_allowed_packet=32*1024*1024;
咱们也能够经过修改MySQL配置my.cnf
文件,在最后一行增长max_allowed_packet=32M
就能够了server
MySQL配置文件的位置:htm
C:\ProgamData\MySQL\MySQL Server5.6
/etc/mysql
/usr/local/Cellar/mysql/5.6.23