MySQL server has gone away
有时候使用MySQL命令行导入备份时会出现“MySQL server has gone away”错误,这可能是因为其中一些insert语句的大小超出了mysql目前设置的缓冲区大小。
SplitInsert可以拆分所有大的insert语句,使每条insert语句只负责插入一个数据行,这样再导入mysql的时候出错的可能也会减小。
这是在nt系列内核下可以直接执行的二进制版本:
SplitInsert下载地址:
http://www.elias.cn/uploads/MyProject/SplitInsert_Bin.zip
这是Python源代码:
SplitInsert下载地址:
http://www.elias.cn/uploads/MyProject/SplitInsert_Src.zip
SplitInsert使用方法: SplitInsert 源sql文件名 目的sql文件名
处理后的sql脚本可以使用mysql附带的命令行工具导入数据库:
mysql -u USER_NAME -p DATA_BASE_NAME < SQL_FILE_NAME
之后输入用户密码,就会开始数据导入过程。
如果,拆分insert语句之后还是出现“MySQL server has gone away”错误,可以在mysql的配置文件的“[mysqld]”段增加类似:
set-variable = max_allowed_packet=16M
来扩大这个缓冲区的限制来解决。
转自:
http://hi.baidu.com/powerdj/blog/item/d6db44a912dddefd1f17a2ff.html
分享到:
相关推荐
总的来说,解决MySQL Server has gone away错误需要理解错误背后的机制,并针对性地调整配置、优化代码或采用更适合的数据库操作策略。通过以上方法,你可以有效地避免或解决这类问题,确保数据库连接的稳定性和可靠...
MySQL导入sql脚本错误:2006 – MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL ...
在我们使用mysql导入大文件sql时可能会报MySQL server has gone away错误,该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。该项的作用是限制mysql服务端接收到的包...
在 Gearman 中,worker 运行在常驻后台模式,可能会遇到一个问题,即与 MySQL 数据库的连接在处理任务过程中因“MySQL server has gone away”而中断。这通常是由于多种原因造成的,包括 MySQL 服务宕机、超时、请求...
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 ...
MYSQL server has gone away 引起这个原因是不可怕的.原因是更改了系统的断开时间. mysql>show gloable variables like “%timeout%”; 进行查看 interactive_timeout 的黓认值为28800 wait_timeout 的默认值这:...
在IT领域,尤其是在数据库管理与优化方面,对MySQL进行精细调节和优化是提升系统性能、保障数据处理效率的关键。以下是对“101个MySQL的调节和优化方法”这一主题的深入解析,涵盖从硬件配置到软件参数设置,以及...
若导入时报错,ERROR 2006 (HY000):MySQL server has gone away 。我们可以通过语句查看一下允许的最大包大小:show global variables like 'max_allowed_packet'; MySQL使用最大数据包站站点进行服务器和客户端...
Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded but available-附件资源
本文将详细讨论两个常见的错误:“MySQL server has gone away”和“Can't connect to [local] MySQL server”。 首先,让我们关注“MySQL server has gone away”错误。这个错误通常意味着服务器在执行查询时超时...
1. MySQL Server Has Gone Away 错误 这个错误通常表示MySQL服务器由于某种原因关闭了与客户端的连接。默认情况下,服务器会在8小时无活动后自动断开连接。这可以通过设置`wait_timeout`变量在启动mysqld时进行调整...
OperationalError: (2006, ‘MySQL server has gone away’) OperationalError: (2013, ‘Lost connection to MySQL server during query’) 查询mysql全局变量SHOW GLOBAL VARIABLES;可以看到wait_timeout,此变量...