目錄
可能是資料庫效能突然變慢,連線的客戶要很久才能得到響應,客戶以為是自己沒確認到,於是客戶就不斷地連線,這樣會話就增加了,資料庫就更忙了,最後可能會掛了。
專案中可能會遇到mysql: error 1040: too many connections」的異常情況;why:造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力;另一種原因就是mysql配置檔案中max_connections值過小。
mysql的max_connections引數用來設定最大連線(使用者)數。每個連線mysql的使用者均算作乙個連線,max_connections的預設值不同版本略有區別。
mysql5.5mysql5.6 mysql5.7:預設的最大連線數都是151,上限為:100000
mysql5.1根據其小版本的不同,預設的最大連線數和可修改的連線數上限也有所不同
mysql5.0版本:預設的最大連線數為100,上限為16384
吐槽一下mysql版本的命名,從5.7一下跳到8.0版本。mysql5.5mysql5.6 mysql5.7:預設的最大連線數都是151。這個數值對於併發連線很多的資料庫應用是遠不夠用的。當連線請求大於預設連線數後,就會出現無法連線資料庫的錯誤,因此我們需要把它適當調大一些。在使用 mysql 資料庫的時候,經常會遇到乙個問題,就是」can not connect to mysql server. too many connections」 -mysql 1040 錯誤,這是因為訪問mysql且還未釋放的連線數已經達到 mysql 的上限。mysql無論如何都會保留乙個用於管理員(super)登陸的連線,用於管理員連線資料庫進行維護操作,即使當前連線數已經達到了max_connections。因此mysql的實際最大可連線數為max_connections+1;增加max_connections引數的值,不會占用太多系統資源。系統資源(cpu、記憶體)的占用主要取決於查詢的密度、效率等;該引數設定過小的最明顯特徵是出現」too mzqpzpzleany connections」錯誤;
1、檢視最大連線數
mysql5.5mysql5.6 mysql5.7:預設的最大連線數都是151,上限為:100000
mysql> show variables like "%max_connections%";
----------------------+
| variable_name | v
----------------------+
| max_connections| 151 |
----------------------+
1 row in set (0.00 sec)
2、檢視伺服器響應的最大連線數
mysql> show global status like 'max_used_connections';
+----------------------+-------+
| variable_name | value |
+----------------------+-------+
| max_used_connections | 11 |
+----------------------+-------+
1 row in set (0.00 sec)
可以看到伺服器響應的最大連線數為11,遠遠低於mysql伺服器允許的最大連線數值。對於mysql伺服器最大連線數值的設定範圍比較理想的是:伺服器響應的最大連線數值佔伺服器上限連線數值的比例值在10%以上,如果在10%以下,說明mysql伺服器最大連線上限值設定過高。
3、修改最大連線數
常用的修改最大連線數的兩種方式如下:
第一種:命令列修改最大連線數(max_connections),設定最大連線數為1000。
my> set global max_connections = 1000;
這種方式有個問題,就是設定的最大連線數只在 mysql 當前服務程序有效,一旦mysql重啟,又會恢復到初始狀態。因為mysql啟動後的初始化工作是從其配置檔案中讀取資料的,而這種方式沒有對其配置檔案做更改。
第二種:通過修改配置檔案來修改mysql最大連線數(max_connections)。
進入mysql安裝目錄,開啟mwww.cppcns.comysql配置檔案 my.ini 或 my.cnf查詢 max_connections=100,修改為max_connections=1000,重啟mysql服務即可。
1、2、
mysql最大連線數
show variables like max connections 數值過小會經常出現error 1040 too many connections錯誤 show global status like max used connections threads connected 開啟的連線數,t...
mysql最大連線數釋放 MySQL最大連線數設定
mysql最大連線數設定 在使用mysql資料庫的時候,經常會遇到這麼乙個問題,就是 can not connect to mysql server.too many connections mysql 1040錯誤,這是因為訪問mysql且還未釋放的連線數目已經達到mysql的上限。通常,mysq...
MYSQL 檢視最大連線數和修改最大連線數
mysql檢視最大連線數和修改最大連線數 1 檢視最大連線數 show variables like max connections 2 修改最大連線數 set global max connections 200 以下的文章主要是向大家介紹的是mysql最大連線數的修改,我們大家都知道mysql最...