Too many connections
從字面理解,mysql連接數過多。當連接數量過多,且來不及釋放時便會出現此錯誤。
查看mysql當前連接信息,特別要注意sleep休眠狀態的連接。
show full processlist;
查看mysql設置的最大連接數
show global variables like 'max_connections';
如果最大連接數量沒問題,而sleep休眠狀態的連接過多,則應該從兩方面注意:
- 1。 wait_timeout 空閒等待超時時間
- 2。 interactive_timeout 交互超時時間(通過mysql客戶端連接數據庫是交互式連接)
要想從根本上解決sleep過多的問題,需從以下面三點排查:
* 1。程序連接mysql,不使用持久鏈接。即使用mysqli_connect而不是pconnect。
* 2。程序執行結束,主動顯式調用mysqli_close來釋放連接資源。
* 3。解決程序中的SQL慢查詢語句。
最後快速解決過程
set GLOBAL max_connections = 500;
set GLOBAL wait_timeout = 300;
set GLOBAL interactive_timeout = 600;