MySQL 預設最大連接數為 100,高併發場景下容易出現「Too many connections」錯誤。本文介紹三種修改 max_connections 的方法,按推薦程度排序。
my.ini,Linux 為 my.cnf。[mysqld] 區塊下找到或新增:max_connections = 1000優點:修改簡單、持久化、不需程式碼變更。
mysql -u root -p
# 登入後執行
SET GLOBAL max_connections = 200;
# 查看當前連接情況
SHOW PROCESSLIST;
SHOW STATUS;
# 查看當前最大連接數設定
mysqladmin -u root -p variables | grep max_connections
注意:此法僅對當前運行實例有效,服務重啟後恢復預設值。
vi /usr/local/mysql/bin/mysqld_safe
# 找到 mysqld 啟動行,在後方加入參數
-O max_connections=1500
需在兩處啟動命令後均加入該參數,存檔後執行 service mysqld restart。
修改 sql/mysqld.cc 中的預設值,從 100 改為 1500,然後 ./configure && make && make install。此法維護成本極高,升級時會遺失修改。
wait_timeout、interactive_timeout 釋放閒置連接。Threads_connected 與 Max_used_connections 評估適當值。