有時候我們會遇見”mysql: error 1040: too many connections”的異常,一種原因是訪問量過高,mysqlserver抗不住,這個時候就要考慮添加從server分散讀壓力,還有一種原因就是mysql配置檔案裡max_connections值過小。
首先,我們來檢視mysql的最大連接配接數:
其次,檢視server響應的最大連接配接數:
能夠看到server響應的最大連接配接數為2,遠遠低于mysqlserver同意的最大連接配接數值。
對于mysqlserver最大連接配接數值的設定範圍比較理想的是:server響應的最大連接配接數值占server上限連接配接數值的比例值在10%以上,假設在10%下面,說明mysqlserver最大連接配接上限值設定過高。
我們能夠看到占比遠低于10%(由于這是本地測試server,結果值沒有太大的參考意義,大家能夠依據實際情況設定連接配接數的上限值)。
再來看一下自己 linode vps 如今(時間:2013-11-13 23:40:11)的結果值:
這裡的最大連接配接數占上限連接配接數的30%左右。
上面我們知道怎麼檢視mysqlserver的最大連接配接數值,而且知道了怎樣推斷該值是否合理,以下我們就來介紹一下怎樣設定這個最大連接配接數值。
方法1:
方法2:
改動mysql配置檔案my.cnf,在[mysqld]段中加入或改動max_connections值:
重新啟動mysql服務就可以。