2013-07-01 50 views
2

我已经看到的错误很多像这样在日志文件中我们的网站之一:- MySQL的大型#丢失的连接和失败连接

  • 在“阅览权限数据包丢失连接到MySQL服务器“
  • 在丢失连接到MySQL服务器‘读通信初始化数据’
  • 无法通过套接字连接到本地MySQL服务器
  • 用户已经拥有超过‘MAX_USER_CONNECTIONS’主动

事实上,日志文件填满了这些错误。有问题的网站每天只能访问500个访问者,尽管当某些背景PHP脚本运行时,它在给定的一天处理了100,000个以上的查询。

脚本完成后,连接总是明确关闭。没有持久的连接。

这种情况发生在几乎所有不时运行的脚本和MySQL服务器每天崩溃几次的情况下发生。

这可能是某种配置问题?

  • MySQL的69年5月1日-CLL
  • PHP 5.2.17
  • 的Apache 2.2.24
+0

添加更多特定数据。 – sectus

+0

您是否有长时间运行的查询导致连接堆叠(因此达到最大连接数限制)?不幸的是,这可能是一个无法通过SO进行故障排除的问题。我的建议是查看MySQL慢查询日志(如果您启用了它 - 如果您没有启用它,启用它)来查看您可能在那里显示哪些查询。你也可能想用'show processlist'来监视数据库状态,看看你是否有时候长时间运行的查询导致其他查询不得不等待表锁。 –

+0

@MikeBrant有一些长时间运行,但他们最多只能运行2-3次,通常最多持续30秒。最大用户连接数设置为250,我从来没有见过超过25个连接到服务器。 – eComEvo

回答

1

我曾经见过这个行为在一个无状态的三层架构,负载平衡时每层。在这种情况下,其中一个应用层服务器拥有旧数据库凭证密码,但所有其他应用层服务器都有新的正确密码。可能不是你的问题,但你的描述是非常相同的。