2013-07-01 145 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

我曾經見過這個行爲在一個無狀態的三層架構,負載平衡時每層。在這種情況下,其中一個應用層服務器擁有舊數據庫憑證密碼,但所有其他應用層服務器都有新的正確密碼。可能不是你的問題,但你的描述是非常相同的。