首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行时会出现"MySQL服务器已消失“错误

执行时会出现"MySQL服务器已消失“错误
EN

Stack Overflow用户
提问于 2010-08-27 15:03:32
回答 3查看 1.2K关注 0票数 1

我使用的是一个PHP脚本,它可以长时间连续执行(一次性映射脚本),并将数据插入到MySQL数据库中。该脚本运行良好,但最终(一两分钟后)出现错误:

代码语言:javascript
复制
MySQL server has gone away

我已经更改了mysql连接超时和php脚本执行超时的ini设置,但都没有更改结果。

我在过去做过一个非常类似的脚本,它在同一台服务器上运行了很长一段时间,没有遇到这个错误。

我感谢您的时间,希望您的帮助可以让我解决这个问题,以及任何其他沮丧的脚本作者在未来遇到这篇文章。

EN

回答 3

Stack Overflow用户

发布于 2010-08-27 17:13:33

发生这种情况的原因有很多:超时、大数据包大小等。

请查看this

票数 1
EN

Stack Overflow用户

发布于 2010-08-27 15:21:43

您是否在配置更改后重新启动了mysqld?你有足够的内存,这样它就不会被OOM杀手杀死吗?

等待更新:等待这里是解决方案,你需要设置“”http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

票数 0
EN

Stack Overflow用户

发布于 2010-10-07 22:35:36

查看mysql服务器上的max_allowed_packet设置。客户端无法发送大于此大小的数据包,否则mysql服务器将关闭连接。

这只与查询字符串变得很长时的数据插入有关。这不会影响选择,因为服务器会自动放大发送的数据包。

合适的大小应该是数据的大小乘以2。该乘法是必需的,因为通常在发送数据和在SQL QUery中添加页眉和可能的页脚之前对数据进行转义。

max_allowed_packet的用途是控制服务器内存使用和限制DoS攻击。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3582022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档