mysql - 错误 2006 (HY000) : MySQL server has gone aw

当我尝试获取大型 SQL 文件(大型 INSERT 查询)时出现此错误。

mysql>  source file.sql
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    2
Current database: *** NONE ***

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    3
Current database: *** NONE ***

表格中的任何内容都没有更新。我试过删除和取消删除表/数据库,以及重新启动 MySQL。这些都不能解决问题。

这是我的最大数据包大小:

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+

这是文件大小:

$ ls -s file.sql 
79512 file.sql

当我尝试其他方法时...

$ ./mysql -u root -p my_db < file.sql
Enter password: 
ERROR 2006 (HY000) at line 1: MySQL server has gone away

最佳答案

max_allowed_packet=64M

将此行添加到 my.cnf 文件中解决了我的问题。

这在列具有较大值的情况下很有用,这会导致问题,您可以找到解释 here .

On Windows this file is located at: "C:\ProgramData\MySQL\MySQL Server 5.6"

On Linux (Ubuntu): /etc/mysql

关于mysql - 错误 2006 (HY000) : MySQL server has gone away,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474922/

相关文章:

sql - 从一个表中查找另一个表中不存在的记录

MySQL - 如何按字符串长度选择数据

mysql - UTF-8:一般?垃圾桶?统一码?

mysql - 如何在 MySQL 中获取两个值的最大值?

mysql - 只用 mysqldump 转储数据而没有任何表信息?

mysql - MySQL 中的 utf8mb4 和 utf8 字符集有什么区别?

mysql - 如何检查mysql数据库是否存在

mysql - 错误 1396 (HY000) : Operation CREATE USER fa

mysql - MySQL VARCHAR 的最大大小是多少?

mysql - 如何将 CSV 文件导入 MySQL 表?