ERROR 2006 (HY000): MySQL server has gone away(ERROR 2006 (HY000): MySQL 服务器已经消失)
问题描述
当我尝试获取大型 SQL 文件(大型 INSERT
查询)时出现此错误.
I get this error when I try to source a large SQL file (a big INSERT
query).
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.这些都不能解决问题.
Nothing in the table is updated. I've tried deleting and undeleting the table/database, as well as restarting MySQL. None of these things resolve the problem.
这是我的最大数据包大小:
Here is my max-packet size:
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
这里是文件大小:
$ ls -s file.sql
79512 file.sql
当我尝试另一种方法时...
When I try the other method...
$ ./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
文件中解决了我的问题.
Adding this line into my.cnf
file solves my problem.
当列有很大的值时这很有用,这会导致问题,你可以找到解释 此处.
This is useful when the columns have large values, which cause the issues, you can find the explanation here.
在 Windows 上,此文件位于:C:\ProgramData\MySQL\MySQL Server5.6"
On Windows this file is located at: "C:\ProgramData\MySQL\MySQL Server 5.6"
在 Linux (Ubuntu) 上:/etc/mysql
On Linux (Ubuntu): /etc/mysql
这篇关于ERROR 2006 (HY000): MySQL 服务器已经消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ERROR 2006 (HY000): MySQL 服务器已经消失


基础教程推荐
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 带更新的 sqlite CTE 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01