mysqldump 是导出及导入MySQL数据库的常用命令,当我们导入或导出较大数据库时偶尔会遇到如下错误信息。
ERROR 2006 (HY000) at line **: MySQL server has gone away
一般情况下是因为 max_allowed_packet 参数(默认值为1MB)的限制所导致的,因此我们需要调整该参数并重启MySQL。
查看当前的max_allowed_packet的大小。
show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
修改 /etc/my.cnf 文件之后,重启MySQL。
[mysqld]
max_allowed_packet = 32MB
max_allowed_packet 是控制从客户端向MySQL服务端可传送包(packet)的大小的参数,因此需要传送较大文件时提前修改该参数。