首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL max_connections 修改三大方法:配置檔、動態指令、啟動腳本、原始碼重編譯

     編輯:MySQL 資料庫相關知識

方法一:修改配置檔 my.cnf / my.ini(永久生效,需重啟)

[mysqld]
max_connections = 1000  # 預設 151 (5.7+) 或 100 (舊版)

重啟服務:`systemctl restart mysqld` / `service mysql restart`

方法二:動態調整(立即生效,重啟後失效)

mysql> SET GLOBAL max_connections = 2000;
-- 查看當前值
mysql> SHOW VARIABLES LIKE 'max_connections';
  • 僅影響新連線,現有連線不受影響。
  • 配合 `SHOW PROCESSLIST` 觀察連線狀態。

方法三:啟動腳本傳參(適用二進制安裝/源碼編譯)

# 編輯 /usr/local/mysql/bin/mysqld_safe
# 找到 mysqld 啟動行,在參數後加入
-O max_connections=1500
# 例:
$NOHUP_NICENESS $ledir/$MYSQLD $defaults ... -O max_connections=1500 >> $err_log 2>&1

重啟驗證:`mysqladmin -u root -p variables | grep max_connections`

方法四:修改原始碼重編譯(極不建議,除非極特殊需求)

# 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, 1500, 1, 16384, 0, 1, 0},

再執行 `./configure && make && make install`。升級極其麻煩,強烈不建議。

相關參數聯動調整

參數建議值說明
open_files_limitmax_connections * 5 以上每連線需多個檔案描述符
thread_cache_size參考連線數表減少執行緒建立開銷
innodb_buffer_pool_size實體記憶體 60~80%核心效能參數
back_logmax_connections / 5TCP 連線佇列長度

驗證連線數上限

mysqladmin -u root -p variables | grep max_connections
# 或
mysql> SHOW STATUS LIKE 'Max_used_connections';  -- 歷史峰值
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved