当我试图获取一个大的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 ***

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

以下是我的最 Big Data 包大小:

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

以下是文件大小:

$ ls -s file.sql 
79512 file.sql

当我try 另一种方法时...

$ ./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中找到解释.

在Windows上,该文件位于:"C:\ProgramData\MySQL\MySQL服务器"

在Linux上(Ubuntu):/etc/mysql

Mysql相关问答推荐

为什么IN子句中有GROUP BY会导致查询变得不可执行?

无条件理解MySQL中内连接和交叉连接的相似性

MySQL binlog事件上的并发事务行为

用于将重复行的唯一列值作为单独列获取的SQL查询

MySQL RDS ALTER TABLE ENUM短暂中断了我的数据库连接

MySQL将JSON值从对象类型更改为数组

含有子查询的MySQL函数出现语法错误

表列中的SQL SUM MENY值记录单个查询

查询具有JSON对象数组的列时,JSON_CONTAINS的MySQL语法错误

从表中动态删除所有空列

按唯一列排序,但保持匹配的列在一起

为两个中的每一个 Select 最大和最小传递条件

如何同时从同一个表中 Select 从 SQL 表中删除行

如何根据 R 中的价格范围将数据从一列复制到新列?

使用适配器设计模式和外观设计模式实现

基于 2 列的重复行的 SQL 查询

MySQL UPDATE 锁会因为连续的 SHARE 锁而饿死吗?

sql sum - 处理连接表中的脏重复项

MySQL触发器在某些条件下防止INSERT

如何将 MySQL 5.7 更新到新的 MySQL 8.0?