2012-07-10 61 views
0

最近我在其中一臺生產服務器上觀察,很多連接都處於睡眠模式超過3個小時左右。我想我們是否有辦法在mysql裏面設置,會自動關閉這些長時間睡眠的連接。mysql:有什麼辦法可以關閉睡眠模式下超過10分鐘的mysql連接

我已經給出了一個像手動運行「flush tables」的讀操作,但是我希望它可以通過mysql自動發生。有沒有解決這樣

,如果我做一個腳本,將連接到MySQL和運行「刷新表」定期,它成爲以任何方式有問題...

在此先感謝...

+0

可能重複:http://stackoverflow.com/questions/5026204/how-to-delete-sleep-process-in-mysql – 2012-07-10 12:43:51

+0

Steve。是的,有一些相似但不是確切的。這聽起來我們沒有一個服務器變量,它只監視睡眠線程。這是我想知道的答案。謝謝.. – Uday 2012-07-10 12:47:49

回答

0

這是我發現的一個很好的方式,它完全符合上述標準。

========================================

檢查睡眠過程,並殺死他們每100秒所有:

MK-殺--match命令睡眠--kill --victims所有--interval 100

============ ============================

0

MySQL有wait-timeout設置,它會在一段時間後刪除空閒連接。

+0

但智慧超時殺死不僅空閒連接,而且還在指定時間內運行的活動查​​詢... – Uday 2012-07-11 10:24:56

+0

它不應該。從手冊:「關閉之前,服務器在非交互連接上等待活動的秒數」。服務器只會終止已經空閒等待「wait-timeout」秒的連接。 – ESG 2012-07-11 13:26:16

+0

不Vedge ...非交互並不意味着空閒的連接。它就像持久連接一樣。如果查詢運行超出等待超時,它將被終止。 – Uday 2012-07-11 15:59:16