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 服务器已经消失


基础教程推荐
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 在多列上分布任意行 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01