很多開發人員都會遇見」mysql: error 1040: too many connections」的異常情況,造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力;另一種原因就是mysql配置檔案中max_connections值過小。
首先,我們來檢視mysql的最大連線數:
?
1
2
3
4
5
6
7
mysql> show variables
like
'%max_connections%'
;
+
-----------------+-------+
| variable_name | value |
+
-----------------+-------+
| max_connections | 151 |
+
-----------------+-------+
1 row
in
set
(0.00 sec)
其次,檢視伺服器響應的最大連線數:
?
1
2
3
4
5
6
7
mysql> show
global
status
like
'max_used_connections'
;
+
----------------------+-------+
| variable_name | value |
+
----------------------+-------+
| max_used_connections | 2 |
+
----------------------+-------+
1 row
in
set
(0.00 sec)
可以看到伺服器響應的最大連線數為2,遠遠低於mysql伺服器允許的最大連線數值。
對於mysql伺服器最大連線數值的設定範圍比較理想的是:伺服器響應的最大連線數值佔伺服器上限連線數值的比例值在10%以上,如果在10%以下,說明mysql伺服器最大連線上限值設定過高。
?
1
max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%
我們可以看到佔比遠低於10%(因為這是本地測試伺服器,結果值沒有太大的參考意義,大家可以根據實際情況設定連線數的上限值)。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables
like
'%max_connections%'
;
+
-----------------+-------+
| variable_name | value |
+
-----------------+-------+
| max_connections | 151 |
+
-----------------+-------+
1 row
in
set
(0.19 sec)
mysql> show
global
status
like
'max_used_connections'
;
+
----------------------+-------+
| variable_name | value |
+
----------------------+-------+
| max_used_connections | 44 |
+
----------------------+-------+
1 row
in
set
(0.17 sec)
這裡的最大連線數佔上限連線數的30%左右。
上面我們知道怎麼檢視mysql伺服器的最大連線數值,並且知道了如何判斷該值是否合理,下面我們就來介紹一下如何設定這個最大連線數值。
方法1:
?
1
2
3
4
5
6
7
8
9
mysql>
set
global
max_connections=256;
query ok, 0
rows
affected (0.00 sec)
mysql> show variables
like
'%max_connections%'
;
+
-----------------+-------+
| variable_name | value |
+
-----------------+-------+
| max_connections | 256 |
+
-----------------+-------+
1 row
in
set
(0.00 sec)
方法2:
修改mysql配置檔案my.cnf,在[mysqld]段中新增或修改max_connections值:
max_connections=128
重啟mysql服務即可。
**:
修改MySQL最大連線數
我們大家都知道mysql資料庫在安裝完之後,預設的mysql資料庫,其最大連線數為100,一般流量稍微大一點的論壇或 這個連線數是遠遠不夠的,增加預設mysql連線數的方法有兩個。方法一 02 03進入mysql安裝目錄 開啟mysql配置檔案 my.ini 或 my.cnf查詢 max conne...
修改MySQL最大連線數
方法一 進入mysql安裝目錄 開啟mysql配置檔案 my.ini 或 my.cnf查詢 max connections 100 修改為 max connections 1000 服務裡重起mysql即可 方法二 mysql最大連線數預設是100客戶端登入 mysql uusername ppas...
mysql 修改最大連線數
mysql資料庫安裝完成後,預設最大連線數是100,一般流量稍微大一點的論壇或 這個連線數是遠遠不夠的,增加預設mysql連線數的方法有兩個 方法一 進入mysql安裝目錄 開啟mysql配置檔案 my.ini 或 my.cnf查詢 max connections 100 修改為 max conne...