我在还原Mysql数据库备份时遇到:mysql server has gone away的错误.
原因是我备份的数据中有部分数据内容太大,最终采用的解决办法是通过增加max_allowed_packet对应的值来解决(默认值为1M,当执行的sql中对应字段长度大于1M时,会报错) 。
如何增加max_allowed_packet的值?
1.通过命令show global variables like 'max_allowed_packet';查看文件大小是否超过 max_allowed_packet :
mysql> show global variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+ 1 row in set (0.00 sec)
2.通过命令set global max_allowed_packet=1024*1024*16 修改参数,增加max_allowed_packet至16M:
mysql> set global max_allowed_packet=1024*1024*16; mysql> show global variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +--------------------+----------+ 1 row in set (0.00 sec)