mysqladmin -uroot -p variables | grep max_connections
# 或
SHOW GLOBAL VARIABLES LIKE 'max_connections';
預設值為 100,高併發場景常不夠用。
my.ini(通常在安裝目錄或 C:\ProgramData\MySQL\MySQL Server X.Y\)。[mysqld] 區塊找到或新增 max_connections=1000(不可超過系統開啟檔案數上限)。net stop mysql && net start mysql。/etc/my.cnf 或 /etc/mysql/my.cnf,在 [mysqld] 下設定 max_connections=1000。systemctl restart mysqld 或 service mysql restart。注意: 舊版教學提到修改 /usr/bin/mysqld_safe 加 -O max_connections=1000 已過時,MySQL 5.6+ 棄用 -O 參數,請直接改配置檔。
SET GLOBAL max_connections = 200;
mysqld --max-connections=1000 --defaults-file=/etc/my.cnf
適用於容器化部署或多實例場景,透過啟動命令覆蓋。
| 參數 | 建議值 | 說明 |
|---|---|---|
| open_files_limit | 65535 | 作業系統開啟檔案數上限,需 ulimit -n 配合,否則 max_connections 受限 |
| table_open_cache | max_connections × 2 | 避免頻繁開關表 |
| thread_cache_size | 100~200 | 減少執行緒建立銷毀開銷 |
| back_log | max_connections / 5 | 監聽佇列長度 |
mysqladmin -uroot -p variables | grep max_connections
# 輸出應顯示新值
同時觀察 SHOW GLOBAL STATUS LIKE 'Threads_connected'; 及 Max_used_connections 監控實際峰值使用量。