刚把网站搬家,执行批量的MYSQL语句,恢复mysql备份的时候,发现mysql提示: - ERROR 2006 (HY000): MySQL server has gone away
- No connection. Trying to reconnect...
后来检查了没有导入成功的几篇文章,其大小都在1MB以上,会不会是单条记录太大了导致出现ERROR 2006 (HY000): MySQL server has gone away的呢? 查看允许的最大值登陆MySQL后,使用如下命令查询: - mysql> show global variables like 'max_allowed_packet';
输出: - +--------------------+---------+
- | Variable_name | Value |
- +--------------------+---------+
- | max_allowed_packet | 1048576 |
- +--------------------+---------+
- 1 row in set (0.01 sec)
上限是刚好1MB,怪不得报错。 提高packet上限即时生效方法使用如下命令: - mysql> set global max_allowed_packet=1024*1024*16;
可在不重启MySQL的情况下立即生效,但是重启后就会恢复原样。 永久生效方法
编辑/etc/my.cnf,将 修改为 即可。 之后重新导入,就不会产生ERROR 2006 (HY000): MySQL server has gone away错误了。
对应:修改my.cnf中的wait_timeout和interactive_timeout变量
在一些不便修改的情形下,如租用的空间,可以采取sql语句修改,如何做呢?
|