一 產生too many connections 的直接緣由mysql
由於數據庫提供的鏈接被所有佔滿了sql
鏈接數超過了 MySQL 設置的值,與 max_connections 和 wait_timeout 都有關係。
wait_timeout 的值越大,鏈接的空閒等待就越長,這樣就會形成當前鏈接數越大數據庫
SHOW VARIABLES LIKE 'wait_timeout' 查看鏈接的空閒等待時間spa
set global wait_timeout=2800; 設置鏈接的空閒等待時間 (毫秒)線程
查看命令:show processlist; 查看現有線程數。show processlist命令顯示的是Thread_connected,SHOW VARIABLES LIKE "MAX_CONNECTIONS" ; 查看最大線程數 ,當Thread_connected與max_connections相等時,在 企圖進行數據庫鏈接,就會出現too many connections的錯誤rest
二 解決辦法ssl
# vi /etc/my.cnf 添加如下行it
[mysqld]
set-variable=max_connections=1000io
set-variable=max_user_connections=500service
set-variable=wait_timeout=200
service mysql restart