在使用MySQL數(shù)據(jù)庫的時候,經(jīng)常會遇到這么一個問題,就是“Can not connect to MySQL server. Too many connections”-mysql 1040錯誤,這是因為訪問MySQL且還未釋放的連接數(shù)目已經(jīng)達到MySQL的上限。
max_connections 是指整個mysql服務(wù)器的連接數(shù);
max_user_connections 是指每個數(shù)據(jù)庫用戶的連接數(shù),比如:虛擬主機可以用這個參數(shù)控制每個虛擬主機用戶的數(shù)據(jù)庫連接數(shù);
查看mysql的數(shù)據(jù)庫連接數(shù)
(1),使用命令
select @@max_connections;
(2),使用命令
show variables like \'max_connections\';
修改mysql的連接數(shù)為
臨時有效,重啟服務(wù)器無效:
setglobalmax_connections=1000;(設(shè)置連接數(shù)為1000,可以再次查看是否設(shè)置成功)
永久有效,修改mysql的配置文件
添加參數(shù)max_connections,將其改為max_connections=1000,然后重啟MySQL即可
查看max_used_connections,
設(shè)置max_connections可以依據(jù)下面公式作為參考:
Max_used_connections / max_connections * 100% ≈ 85%
響應(yīng)連接數(shù)占上限連接數(shù)的85%左右,如果發(fā)現(xiàn)比例在10%以下,MySQL服務(wù)器連接上線就設(shè)置得過高了。