查询导致mysql服务器消失

时间:2009-11-22 17:56:58

标签: sql mysql centos

我们已将应用程序部署到50多个网站。在这些网站中,我们注意到了一些奇怪的行为,我们现在已经将其跟踪到一个特定的查询。偶尔,通常每天一到两次,我们的一个调试脚本报告

2006 : MySQL server has gone away

我知道可以抛出此错误的原因有很多,但最奇怪的是,每次抛出它都会发生在运行的同一个SQL查询中。这个查询没有什么奇怪或复杂的,它看起来像这样:

SELECT `advert_only` FROM `products` WHERE `id` = '6197'

对于各种不同的产品ID,此查询必须每天运行数万次,因此每次都不会失败。它在我们的4台服务器上看似随机的网站上随机失败。似乎没有共性,我们注意到的一件小事有时会发生在1个特定人的连续2或3页加载中,因为我们也跟踪它所遇到的人的IP。

这是在运行MySQL 5.0.81

的CentOS 5服务器上

3 个答案:

答案 0 :(得分:3)

这类似于左侧字段,但您应检查硬盘SMART是否存在任何错误。如果从“那个”部门读取问题则可能存在问题。如果你有一个raid单元,我不会太担心这个。我不会高度关注这个问题,但如果你真的很难过,那么它可能是值得的。

答案 1 :(得分:1)

on http://bugs.mysql.com/bug.php?id=1011第二条评论说:“'MySQL服务器已经消失'错误是由查询时间长于max_allowed_pa​​cket引起的。”

有关于修复此问题的更多信息:http://bogdan.org.ua/2008/12/25/how-to-fix-mysql-server-has-gone-away-error-2006.html

答案 2 :(得分:0)

这意味着sql连接空闲时间过长。检查在sql-query之前是否执行了一些慢速操作。