如何使用max_connections配置參數對Mysql進行效能最佳化

伊谢尔伦
發布: 2017-05-30 14:48:37
原創
1772 人瀏覽過

MySQL的max_connections參數用來設定最大連線(使用者)數。每個連接MySQL的使用者都算是一個連接,max_connections的預設值為100。本文將說明此參數的詳細作用與性能影響。

與max_connections有關的特性

MySQL無論如何都會保留一個用於管理員(SUPER)登陸的連接,用於管理員連接資料庫進行維護操作,即使當前連線數已經達到了max_connections。因此MySQL的實際最大可連接數為max_connections+1;
這個參數實際運作的最大值(實際最大可連接數)為16384,即該參數最大值不能超過16384,即使超過也以16384為準;
增加max_connections參數的值,不會佔用太多系統資源。系統資源(CPU、記憶體)的佔用主要取決於查詢的密度、效率等;
該參數設定過小的最明顯特徵是出現」Too many connections」錯誤;

##我們先來看如何查看目前mysql的max_connections的值:

如下sql

show variables like "max_connections";
登入後複製

顯示的結果如下格式

#+------- ----------+-------+

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

#可以透過下面的sql語句將max_connections的值設為200,當然前提是目前登入的使用者有足夠的權限:

set global max_connections = 200;

這個設定會馬上生效,但是當mysql重啟時這個設定會失效,更好的辦法是修改mysql的ini設定檔my.ini

找到mysqld區塊,修改或加入下面的設定:

max_connections= 200

這樣修改之後,就算重啟mysql也會預設載入這個配置了

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

調整max_connections參數的值

調整此參數的方法有幾種,既可以在編譯的時候設置,也可以在MySQL設定檔my.cnf 中設置,也可以直接使用命令調整並立即生效。

1、在編譯的時候設定預設最大連線數

開啟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},
登入後複製

紅色的”100″即為此參數的預設值,修改為想要的數值,而記憶體退出。然後執行

./configure;make;make install
登入後複製

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

2、在設定檔my .cnf中設定max_connections的值

開啟MySQL設定檔my.cnf

[root@www ~]# vi /etc/my.cnf
登入後複製

找到max_connections一行,修改為(如果沒有,則自行新增),

max_connections = 1000
登入後複製

上面的1000即該參數的值。

3、即時(暫時)修改此參數的值

首先登陸mysql,執行以下指令:

[root@www ~]# mysql -uroot -p
登入後複製

然後輸入MySQL Root的密碼。

查看目前的Max_connections參數值:


mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';
登入後複製

設定此參數的值:


mysql> set GLOBAL max_connections=1000;
登入後複製

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


修改完成後即時生效,無需重新啟動MySQL。

整體來說,此參數在伺服器資源夠用的情況下應該盡量設定大,以滿足多個客戶端同時連線的需求。否則將會出現類似”Too many connections”的錯誤。


一般情況下根據同時在線人數設定一個比較綜合的數字,我們設定的是10000.

以上是如何使用max_connections配置參數對Mysql進行效能最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板