萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 修改最大連線數 max_connections 完整指南

查看當前最大連線數

mysqladmin -uroot -p variables | grep max_connections
# 或
SHOW GLOBAL VARIABLES LIKE 'max_connections';

預設值為 100,高併發場景常不夠用。

方法一:修改配置檔(永久生效,需重啟)

Windows

  1. 開啟 my.ini(通常在安裝目錄或 C:\ProgramData\MySQL\MySQL Server X.Y\)。
  2. 在 [mysqld] 區塊找到或新增 max_connections=1000(不可超過系統開啟檔案數上限)。
  3. 重啟 MySQL 服務:net stop mysql && net start mysql。

Linux

  1. 編輯 /etc/my.cnf 或 /etc/mysql/my.cnf,在 [mysqld] 下設定 max_connections=1000。
  2. 重啟服務: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_limit65535作業系統開啟檔案數上限,需 ulimit -n 配合,否則 max_connections 受限
table_open_cachemax_connections × 2避免頻繁開關表
thread_cache_size100~200減少執行緒建立銷毀開銷
back_logmax_connections / 5監聽佇列長度

驗證生效

mysqladmin -uroot -p variables | grep max_connections
# 輸出應顯示新值

同時觀察 SHOW GLOBAL STATUS LIKE 'Threads_connected'; 及 Max_used_connections 監控實際峰值使用量。

copyright © 萬盛學電腦網 all rights reserved