面試官:MySQL 默認最大鏈接數多少?如何修改?

上午剛工做10分左右,同事說在使用jira時出現問題,具體截圖以下:
image.pngmysql

經過上圖的報錯信息:定位爲 mysql 數據庫鏈接數的問題。面試

解決方法

1.登陸mysql進行查看sql

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。另外,MySQL 系列面試題和答案我都整理好了,關注公衆號民工哥技術之路,在企業面試題專欄就能夠查閱了。spa

2.修改mysql默認的最大鏈接數爲1000命令行

在/etc/my.cnf文件中( 須要重啓mysql服務)code

[mysqld]部分增長
max_connections=1000

mysql其餘版本默認的最大鏈接數

Mysql5.五、mysql5.六、mysql5.7:默認的最大鏈接數都是151,上限爲:100000
image.pngblog

Mysql 5.1 根據其小版本的不一樣,默認的最大鏈接數和可修改的鏈接數上限也有所不一樣。
image.pngip

修改mysql數據庫默認的最大鏈接數

方法一

修改mysql的主配置文件/etc/my.cnfssl

[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服務。

做者:mohan87821000
來源:https://blog.51cto.com/525007...

相關文章
相關標籤/搜索