0

我们有一个已部署到 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 服务器上

4

3 回答 3

3

这是一种在左侧字段中,但您应该检查您的硬盘 SMART 是否有任何错误。如果从“那个”部门读取有问题,则可能存在问题。如果你有一个突袭单位,我不会太担心这个。我不会给这个问题很大的可能性,但如果你真的很难过,那么它可能是值得的。

于 2009-11-22T20:34:41.787 回答
1

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

于 2009-11-22T18:01:58.737 回答
0

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

于 2009-11-27T11:50:54.360 回答