很多開發(fā)人員都會(huì)遇見”MySQL: ERROR 1040: Too many connections”的異常情況,造成這種情況的一種原因是訪問量過高,MySQL服務(wù)器抗不住,這個(gè)時(shí)候就要考慮增加從服務(wù)器分散讀壓力;另一種原因就是MySQL配置文件中max_connections值過小。
首先,我們來(lái)查看mysql的最大連接數(shù):
mysql> show variables like '%max_connections%';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 151 |+-----------------+-------+1 row in set (0.00 sec)
其次,查看服務(wù)器響應(yīng)的最大連接數(shù):
mysql> show global status like 'Max_used_connections';+----------------------+-------+| Variable_name | Value |+----------------------+-------+| Max_used_connections | 2 |+----------------------+-------+1 row in set (0.00 sec)
可以看到服務(wù)器響應(yīng)的最大連接數(shù)為2,遠(yuǎn)遠(yuǎn)低于mysql服務(wù)器允許的最大連接數(shù)值。
對(duì)于mysql服務(wù)器最大連接數(shù)值的設(shè)置范圍比較理想的是:服務(wù)器響應(yīng)的最大連接數(shù)值占服務(wù)器上限連接數(shù)值的比例值在10%以上,如果在10%以下,說明mysql服務(wù)器最大連接上限值設(shè)置過高。
Max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%
我們可以看到占比遠(yuǎn)低于10%(因?yàn)檫@是本地測(cè)試服務(wù)器,結(jié)果值沒有太大的參考意義,大家可以根據(jù)實(shí)際情況設(shè)置連接數(shù)的上限值)。
再來(lái)看一下自己 linode VPS 現(xiàn)在(時(shí)間:2013-11-13 23:40:11)的結(jié)果值:
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)
這里的最大連接數(shù)占上限連接數(shù)的30%左右。
上面我們知道怎么查看mysql服務(wù)器的最大連接數(shù)值,并且知道了如何判斷該值是否合理,下面我們就來(lái)介紹一下如何設(shè)置這個(gè)最大連接數(shù)值。
方法1:
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服務(wù)即可。
新聞熱點(diǎn)
疑難解答
圖片精選