导入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外部导入数据报错

mysql在导入大数据库的时候,报错ERROR 2006 (HY000): MySQL server has gone away