mysql查看連接數

來源:本站原創 mysql_mariadb 超過191 views圍觀 0條評論

show variables like ‘%max_connections%’;//數據庫最大連接數
show global status like ‘Max_used_connections’;//已使用連接數
show status like ‘Threads%’;//連接線程數
show FULL PROCESSLIST;//連接詳細信息

SET GLOBAL max_connections=2000;//設置最大連接數
———————
作者:xgjj68163
來源:CSDN
原文:https://blog.csdn.net/u014161595/article/details/79470500
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

 

1.mysql> show status like ‘Threads%’;
+——————-+——-+
| Variable_name     | Value |
+——————-+——-+
| Threads_cached    | 58    |
| Threads_connected | 57    |   ###這個數值指的是打開的連接數
| Threads_created   | 3676  |
| Threads_running   | 4     |   ###這個數值指的是激活的連接數,這個數值一般遠低于connected數值
+——————-+——-+
 
Threads_connected 跟show processlist結果相同,表示當前連接數。準確的來說,Threads_running是代表當前并發數
 

這是是查詢數據庫當前設置的最大連接數
2.mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name   | Value |
+—————–+——-+
| max_connections | 1000  |
+—————–+——-+
 
可以在/etc/my.cnf里面設置數據庫的最大連接數
[mysqld]
max_connections = 1000

max_connections 參數可以用于控制數據庫的最大連接數:
3.mysql> show variables like ‘%connect%’;
+————————–+——————-+
| Variable_name            | Value             |
+————————–+——————-+
| character_set_connection | latin1            |
| collation_connection     | latin1_swedish_ci |
| connect_timeout          | 10                |
| init_connect             |                   |
| max_connect_errors       | 10                |
| max_connections          | 4000              |
| max_user_connections     | 0                 |
+————————–+——————-+

 

很多開發人員都會遇見”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%(因為這是本地測試服務器,結果值沒有太大的參考意義,大家可以根據實際情況設置連接數的上限值)。

再來看一下自己 linode VPS 現在(時間:2013-11-13 23:40:11)的結果值:

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服務即可。
———————
作者:caodongfang126
來源:CSDN
原文:https://blog.csdn.net/caodongfang126/article/details/52764213
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文標題:mysql查看連接數
本文鏈接:http://www.qdxgqk.live/?p=4049轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
上篇文章:
下篇文章:
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏