插入大量数据时出现 mod_python/MySQL 错误:“OperationalError: (2006, 'MySQL server has gone away')”
Posted
技术标签:
【中文标题】插入大量数据时出现 mod_python/MySQL 错误:“OperationalError: (2006, \'MySQL server has gone away\')”【英文标题】:mod_python/MySQL error on INSERT with a lot of data: "OperationalError: (2006, 'MySQL server has gone away')"插入大量数据时出现 mod_python/MySQL 错误:“OperationalError: (2006, 'MySQL server has gone away')” 【发布时间】:2010-09-09 04:37:06 【问题描述】:当使用大量数据进行 INSERT 时,即:
INSERT INTO table (mediumtext_field) VALUES ('...lots of text here: about 2MB worth...')
mysql 返回
"OperationalError: (2006, 'MySQL server has gone away')"
这发生在脚本启动后的一分钟内,因此不是超时问题。此外,mediumtext_field
应该能够保存大约 16MB 的数据,所以这应该不是问题。
任何想法是什么导致了错误或如何解决它?
正在使用的一些相关库:mod_python 3.3.1
、MySQL 5.0.51
(在 Windows XP SP3 上,通过 xampp,详情如下)
ApacheFriends XAMPP(基础包)1.6.5版
Apache 2.2.6 MySQL 5.0.51 phpMyAdmin 2.11.3【问题讨论】:
【参考方案1】:检查 my.cnf 文件中的 max_packet 设置。这决定了您可以在单个语句中发送到 mysql 服务器的最大数据量。超过此值会导致该错误。
【讨论】:
以上是关于插入大量数据时出现 mod_python/MySQL 错误:“OperationalError: (2006, 'MySQL server has gone away')”的主要内容,如果未能解决你的问题,请参考以下文章
从 Azure Blob 存储批量插入时出现 ERRORFILE 问题
数据库插入时出现 NullPointerException [重复]