如果mysql sleep連接過多 直接導致的後果有:
1.嚴重消耗mysql服務器資源(cpu, 內存),
2.可能導致mysql崩潰
出現mysql sleep連接過多的原因 有以下幾方面:
1.使用了太多持久連接(pcconnect)
2.程序中,沒有及時關閉mysql連接
3.數據庫查詢不夠優化,過度耗時。
要從根本上解決sleep連接過多,就要從上面三種方面逐一優化。
但更直接的方法是 在my.conf裡面設置wait_timeout 選項
如設置:
wait_timeout=100 #即設置mysql連接睡眠時間為100秒,任何sleep連接睡眠時間若超過100秒,將會被mysql服務自然終止。
當然要從根本上避免sleep連接過多 還是要從上面三點逐一檢查,優化的。