溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql 最大連接數(shù)概念、作用及修改

發(fā)布時間:2020-04-25 11:38:40 來源:億速云 閱讀:1975 作者:三月 欄目:數(shù)據(jù)庫

本文主要給大家介紹mysql 最大連接數(shù)概念、作用及修改,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現(xiàn)實意義角度出發(fā),億速云累計多年的實踐經(jīng)驗可分享給大家。

云服務(wù)器同時最大連接數(shù),也就是說可以有一千個用戶,但只能同時一百個用戶訪問數(shù)據(jù)庫,也就是響應(yīng)客戶端連接的最大進程數(shù) 注意 是有一個連接進程算一個 不是指電腦臺數(shù)。錯過最大連接數(shù)后,新的數(shù)據(jù)庫連接無法發(fā)起 老的保持正常。


數(shù)據(jù)庫連接數(shù)突然增大是什么原因?

可能是數(shù)據(jù)庫性能突然變慢,連接的客戶要很久才能得到響應(yīng),客戶以為是自己沒確認到,于是客戶就不斷地連接,這樣會話就增加了,數(shù)據(jù)庫就更忙了,最后可能會掛了。

mysql 最大連接數(shù)概念、作用及修改

如何修改?

MySQL的max_connections參數(shù)用來設(shè)置最大連接(用戶)數(shù)。每個連接MySQL的用戶均算作一個連接,max_connections的默認值為100。本文將講解此參數(shù)的詳細作用與性能影響。

與max_connections有關(guān)的特性

MySQL無論如何都會保留一個用于管理員(SUPER)登陸的連接,用于管理員連接數(shù)據(jù)庫進行維護操作,即使當(dāng)前連接數(shù)已經(jīng)達到了max_connections。因此MySQL的實際最大可連接數(shù)為max_connections+1;
這個參數(shù)實際起作用的最大值(實際最大可連接數(shù))為16384,即該參數(shù)最大值不能超過16384,即使超過也以16384為準(zhǔn);
增加max_connections參數(shù)的值,不會占用太多系統(tǒng)資源。系統(tǒng)資源(CPU、內(nèi)存)的占用主要取決于查詢的密度、效率等;
該參數(shù)設(shè)置過小的最明顯特征是出現(xiàn)”Too many connections”錯誤;

我們先來看下如何查看當(dāng)前mysql的max_connections的值:

如下sql

復(fù)制代碼 代碼如下:

show variables like "max_connections";


顯示的結(jié)果如下格式

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+

可以通過下面的sql語句將max_connections的值設(shè)置為200,當(dāng)然前提是當(dāng)前登錄的用戶有足夠的權(quán)限:

set global max_connections = 200;

這個設(shè)置會馬上生效,但是當(dāng)mysql重啟時這個設(shè)置會失效,更好的辦法是修改mysql的ini配置文件my.ini

找到mysqld塊,修改或者添加下面的設(shè)置:

max_connections=200

這樣修改之后,即便重啟mysql也會默認載入這個配置了

 不過為了安全期間,建議大家直接到my.ini里修改,么有可以加上。

調(diào)整max_connections參數(shù)的值

調(diào)整此參數(shù)的方法有幾種,既可以在編譯的時候設(shè)置,也可以在MySQL配置文件 my.cnf 中設(shè)置,也可以直接使用命令調(diào)整并立即生效。

1、在編譯的時候設(shè)置默認最大連接數(shù)

打開MySQL的源碼,進入sql目錄,修改mysqld.cc文件:

復(fù)制代碼 代碼如下:

{"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},


紅色的”100″即為該參數(shù)的默認值,修改為想要的數(shù)值,存盤退出。然后執(zhí)行

復(fù)制代碼 代碼如下:


./configure;make;make install


重新編譯安裝MySQL;注意,由于編譯安裝且修改了MySQL源碼,此操作最好在安裝MySQL之前進行;


2、在配置文件my.cnf中設(shè)置max_connections的值

打開MySQL配置文件my.cnf

復(fù)制代碼 代碼如下:

[root@www ~]# vi /etc/my.cnf


找到max_connections一行,修改為(如果沒有,則自己添加),

復(fù)制代碼 代碼如下:

max_connections = 1000


上面的1000即該參數(shù)的值。


3、實時(臨時)修改此參數(shù)的值

首先登陸mysql,執(zhí)行如下命令:

復(fù)制代碼 代碼如下:

[root@www ~]# mysql -uroot -p


然后輸入MySQL Root的密碼。


查看當(dāng)前的Max_connections參數(shù)值:

復(fù)制代碼 代碼如下:

mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';


設(shè)置該參數(shù)的值:

復(fù)制代碼 代碼如下:

mysql> set GLOBAL max_connections=1000;


(注意上面命令的大小寫)


修改完成后實時生效,無需重啟MySQL。

總體來說,該參數(shù)在服務(wù)器資源夠用的情況下應(yīng)該盡量設(shè)置大,以滿足多個客戶端同時連接的需求。否則將會出現(xiàn)類似”Too many connections”的錯誤。


看了以上mysql 最大連接數(shù)概念、作用及修改介紹,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續(xù)關(guān)注億速云行業(yè)資訊板塊,會定期給大家更新行業(yè)新聞和知識,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。

 



向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI