导入SQL文件到MySQL报错 - 2006 - MySQL server has gone away
Posted snower1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入SQL文件到MySQL报错 - 2006 - MySQL server has gone away相关的知识,希望对你有一定的参考价值。
从dev环境导出了一个大小为57M的sql文件,使用Navicat导入到一半的时候,报出下面的错误:
[Err] 2006 - mysql server has gone away
[Err] ...
[Msg] Finished - Unsuccessfully
--------------------------------------------------
然后接着查看了MySQL的console信息:
2020-01-08T01:29:12.787613Z 9 [Note] Aborted connection 9 to db: 'testdbdev' user: 'hecg' host: 'localhost' (Got a packet bigger than 'max_allowed_packet' bytes)
意思是我们导入时候发给MySQL Server的数据包的大小超过了默认的大小,如果要解决这个问题,手动在 my.ini
文件中设置 max_allowed_packet
的大小即可:
[mysqld]
......
# 解决 [Err] 2006 - MySQL server has gone away
max_allowed_packet=128M
解决问题后,接着去MySQL官方参考手册找到了这部分内容 - 数据包太大
mysql客户端程序,则其默认 max_allowed_packet变量为16MB,如需要设置更大的值,可以在启动的时候指定参数:
mysql --max_allowed_packet=32M
mysql服务器的默认 max_allowed_packet值为64MB,如需要设置更大的值,同样也可以指定参数:
mysqld --max_allowed_packet=128M
对于服务器端,也可以在配置文件指定,即最上面的方法:在
my.ini
中设置max_allowed_packet
[mysqld] max_allowed_packet=128M
以上是关于导入SQL文件到MySQL报错 - 2006 - MySQL server has gone away的主要内容,如果未能解决你的问题,请参考以下文章
MySQL导入sql脚本错误:2006 - MySQL server has gone away
mysql 导入数据是报错:2006 - MySQL server has gone away
Mysql导入大文件报错(MySQL server has gone away(error 2006))
mysql恢复和数据导入的问题(ERROR 2006 (HY000) at line 1016: MySQL server has gone away)
mysql在导入大数据库的时候,报错ERROR 2006 (HY000): MySQL server has gone away