错误2006(HY000):MySQL服务器已消失 [英] ERROR 2006 (HY000): MySQL server has gone away
问题描述
当我尝试获取大型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 Server 5.6"
On Windows this file is located at: "C:\ProgramData\MySQL\MySQL Server 5.6"
在Linux(Ubuntu)上:/etc/mysql
On Linux (Ubuntu): /etc/mysql
这篇关于错误2006(HY000):MySQL服务器已消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!