標籤:mysql最大串連數
上午剛工作10分左右,同事說在使用jira時出現問題,具體如下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/88/wKiom1WfLDXD_ag0AAX0GXUN_xc840.jpg" title="資料庫連接數過多.png" alt="wKiom1WfLDXD_ag0AAX0GXUN_xc840.jpg" />通過的報錯資訊:定位為mysql資料庫連接數的問題
解決方案:
1.登入mysql進行查看Mysql –uroot –p123456mysql> show variables like‘%max_connections%‘;+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 151 |+-----------------+-------+1 row in set (0.00 sec)很奇怪,最大串連數怎麼是151呢,mysql預設的最大串連數不是100嗎?後來想一下可能是版本不同的問題,預設串連數也不同。為了確認mysql5.5.3預設的最大串連數為151,去mysql官網查看了一下:mysql預設的最大串連數為151,上限為10002.修改mysql預設的最大串連數為1000在/etc/my.cnf檔案中[mysqld]部分增加max_connections=1000,重啟mysql服務,問題解決。
補充1:mysql其他版本預設的最大串連數
Mysql5.5 mysql5.6 mysql5.7:預設的最大串連數都是151,上限為:100000
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/85/wKioL1WfL-mQ12woAACbi5DxTZU099.jpg" title="mysql5.5_5.7.png" alt="wKioL1WfL-mQ12woAACbi5DxTZU099.jpg" />
Mysql5.1根據其小版本的不同,預設的最大串連數和可修改的串連數上限也有所不同
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/85/wKioL1WfMCPTjvf2AAEkEu6cg1k964.jpg" title="mysql5.1" alt="wKioL1WfMCPTjvf2AAEkEu6cg1k964.jpg" />
Mysql5.0版本:預設的最大串連數為100,上限為16384
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/85/wKioL1WfMFWhrBbHAACjwjpPK14276.jpg" title="mysql5.0" alt="wKioL1WfMFWhrBbHAACjwjpPK14276.jpg" />
補充2:修改mysql資料庫預設的最大串連數
方法一:修改mysql的主設定檔/etc/my.cnf,[mysqld]部分添加“max_connections=1000(這個根據實際的需要來進行設定即可)”,重啟mysql服務。
方法二:mysql用戶端登入,通過命令列修改全域變數來進行修改
mysql -uroot -p123456mysql> set global_max_connections = 200;mysql> show processlist;mysql> show status;修改完成後進行查看,mysql的最大串連數mysql> show variables like ‘%max_connections%‘;+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 1000 |+-----------------+-------+1 row in set (0.00 sec)
方法三:解開mysql原始碼,進入裡面的SQL目錄修改mysqld.cc找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1, 0}, 把它改為: {"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1, 0}, 儲存退出,然後./configure ;make;make install可以獲得同樣的效果
方法四:通過修改mysqld_safe來修改mysql的串連數
編輯 mysqld_safe設定檔,找到如下內容:then $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1500 >> $err_log 2>&1 else eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1500 >> $err_log 2>&1"紅色行代表要添加的欄位,儲存退出並重啟mysql服務。
參考文章:http://blog.chinaunix.net/uid-20592013-id-94956.html
http://blog.csdn.net/tongle_deng/article/details/6932733
本文出自 “nagios故障” 部落格,請務必保留此出處http://5250070.blog.51cto.com/5240070/1672803
mysql不同版本的預設最大串連數和上限