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

MySQL 守護進程啟動參數調優:max_connections、wait_timeout 實戰配置

     編輯:MySQL 資料庫相關知識

修改啟動腳本法(舊版適用)

編輯 /etc/init.d/mysql,找到 safe_mysqld 啟動行,追加參數:

$bindir/safe_mysqld --user=mysql --datadir=$datadir --pid-file=$pid_file \
  -O max_connections=1000 \
  -O wait_timeout=500 \
  -O interactive_timeout=500 &

重啟生效:mysqladmin shutdown && /etc/init.d/mysql start

推薦:my.cnf 統一配置法(現代最佳實踐)

[mysqld]
max_connections = 1000
wait_timeout = 500
interactive_timeout = 500

# 參考官方範本選擇適合硬體的基礎配置
# my-huge.cnf   : 1-2GB 記憶體、專用 DB 伺服器
# my-large.cnf  : 512MB 記憶體
# my-medium.cnf : 128MB 記憶體
# my-small.cnf  : ≤64MB 記憶體

配置檔優先順序:/etc/my.cnf (全域) → $DATADIR/my.cnf (實例) → ~/.my.cnf (用戶)。

參數說明

參數預設建議調整影響
max_connections151 (5.7+)視應用峰值連接數 + 緩衝 (如 500-2000)每連接消耗執行緒堆疊、緩衝區記憶體,過大導致 OOM
wait_timeout28800 (8小時)300-600 秒非互動連接閒置超時回收,防連接洩漏佔滿
interactive_timeout28800同 wait_timeout互動式客戶端(mysql CLI)閒置超時

驗證生效

mysqladmin -u root -p variables | grep -E 'max_connections|wait_timeout|interactive_timeout'

原始碼修改法(極少用)

修改 sql/mysqld.cc 中 max_connections 預設值(100 → 1500),重新 ./configure && make && make install。僅適用於無法動態配置的極舊版本或嵌入式場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved