| 路徑 | 作用範圍 | 典型場景 |
| /etc/my.cnf | 全域(所有實例) | 單實例伺服器、容器化部署 |
| $MYSQL_BASEDIR/my.cnf | 實例級(data 目錄) | 多實例共存 |
| ~/.my.cnf | 用戶級(客戶端) | 開發/測試環境 |
檢視當前實例讀取順序:mysqld --help --verbose 2>&1 | head -20
關鍵參數分類速查
連線與線程
[mysqld]
max_connections = 500 # 最大連線數
thread_cache_size = 50 # 線程緩存,減少創建銷毀
back_log = 100 # 監聽隊列長度
max_connect_errors = 100000 # 防暴力破解封鎖
InnoDB 核心(記憶體佔大頭)
innodb_buffer_pool_size = 12G # 專用 DB 伺服器建議 70~80% 物理記憶體
innodb_log_file_size = 1G # 大事務支援,減少 checkpoint 壓力
innodb_log_buffer_size = 64M # 大交易減少磁盤刷新
innodb_flush_log_at_trx_commit = 1 # 1=最安全,2=高效能折衷
innodb_file_per_table = ON # 獨立表空間,利於管理
innodb_io_capacity = 2000 # SSD 建議 2000+,HDD 200
查詢快取(MySQL 5.7 已移除,8.0 無)
# 5.6 及之前
query_cache_type = 0 # 關閉,高併發下鎖競爭嚴重
query_cache_size = 0
慢查詢與日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1 # 秒,建議 0.5~1
log_queries_not_using_indexes = 1
log_output = FILE
依機型選擇預設模板