MySQL的max_connections參數用來設置最大連接(用戶)數。每個連接MySQL的用戶均算作一個連接,max_connections的默認值為100。本文將講解此參數的詳細作用與性能影響。
與max_connections有關的特性
MySQL無論如何都會保留一個用於管理員(SUPER)登陸的連接,用於管理員連接數據庫進行維護操作,即使當前連接數已經達到了max_connections。因此MySQL的實際最大可連接數為Max_used_connections=max_connections+1;
這個參數實際起作用的最大值(實際最大可連接數)為16384,即該參數最大值不能超過16384,即使超過也以16384為准;
增加max_connections參數的值,不會占用太多系統資源。系統資源(CPU、內存)的占用主要取決於查詢的密度、效率等;
該參數設置過小的最明顯特征是出現”Too many connections”錯誤;
我們先來看下如何查看當前mysql的max_connections的值:
顯示的結果如下格式
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 100 |
+-----------------+-------+
可以通過下面的sql語句將max_connections的值設置為200,當然前提是當前登錄的用戶有足夠的權限:
set global max_connections = 200;
這個設置會馬上生效,但是當mysql重啟時這個設置會失效,更好的辦法是修改mysql的配置文件my.cnf
找到mysqld塊,修改或者添加下面的設置:
max_connections=200
這樣修改之后,即便重啟mysql也會默認載入這個配置了
不過為了安全期間,建議大家直接到my.cnf里修改。