MySQL server has gone away意思就是数据库挂了这个是因为导入数据导致mysql挂了,那么碰到数据库导入数据挂了要如何处理,下面来看看处理办法。
用mysqldump命令导出MySQL数据库之后,导入数据库时经常会使用如下命令。
代码如下 | 复制代码 |
mysql --default-character-set=utf8 -u root -p dbname < alldata.sql |
但是当我们导出来的MySQL数据库较大的时候,经常会遇到如下错误信息。
ERROR 2006 (HY000) at line **: MySQL server has gone away
一般情况下是因为max_allowed_packet参数(默认是1MB)的限制所导致的,因此我们需要调整max_allowed_packet参数并重启MySQL。
查看现在的max_allowed_packet的大小。
代码如下 | 复制代码 |
show variables like 'max_allowed_packet'; -------------------- --------- | Variable_name | Value | -------------------- --------- | max_allowed_packet | 1048576 | -------------------- --------- |
如下修改my.cnf文件之后,重启MySQL就可以解决。
代码如下 | 复制代码 |
[mysqld] max_allowed_packet = 32MB |
max_allowed_packet是控制从客户端向MySQL服务端可传送包(packet)的大小的参数,因此需要传送较大文件时提前修改max_allowed_packet参数。