MySQL 預設最大連線數是多少?

kboypkb發表於2021-09-09

上午剛工作10分左右,同事說在使用jira時出現問題,具體截圖如下:
圖片描述
透過上圖的報錯資訊:定位為mysql資料庫連線數的問題

解決方法:

1.登入mysql進行檢視

Mysql –uroot –p123456
mysql> 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,上限為1000

2.修改mysql預設的最大連線數為1000

在/etc/my.cnf檔案中[mysqld]部分增加max_connections=1000,重啟mysql服務,問題解決。

補充1:mysql其他版本預設的最大連線數

Mysql5.5 mysql5.6 mysql5.7:預設的最大連線數都是151,上限為:100000
圖片描述
Mysql5.1根據其小版本的不同,預設的最大連線數和可修改的連線數上限也有所不同
圖片描述
圖片Mysql5.0版本:預設的最大連線數為100,上限為16384
圖片描述
補充2:修改mysql資料庫預設的最大連線數

方法一:修改mysql的主配置檔案/etc/my.cnf,[mysqld]部分新增“max_connections=1000(這個根據實際的需要來進行設定即可)”,重啟mysql服務。

方法二:mysql客戶端登入,透過命令列修改全域性變數來進行修改

mysql -uroot -p123456
mysql> 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服務。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1916/viewspace-2807294/,如需轉載,請註明出處,否則將追究法律責任。

相關文章