MySQL导入数据包时,有时候可能会报错
Error Code: 2006 - MySQL server has gone away
原因
mysql根据配置文件会限制server接受的数据包大小。
太大的数据包会被max_allowed_packet 参数限制掉,导致导入数据失败。
解决方案
首先,查看max_allowed_packet 的配置:
mysql> show global variables like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 16777216 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
修改max_allowed_packet 配置
方法1:
编辑my.cnf(windows下my.ini),在[mysqld]段或者mysql的server配置段
max_allowed_packet = 20M
方法2
mysql命令行执行如下命令,即可生效。
set global max_allowed_packet=1024*1024*16;