ERROR 2006 (HY000): MySQL 服务器已经消失

ERROR 2006 (HY000): MySQL server has gone away(ERROR 2006 (HY000): MySQL 服务器已经消失)

本文介绍了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 服务器已经消失

基础教程推荐