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

MySQL 效能極致調優配置模板 (my.cnf) 解析:連線、緩衝區、Binlog、InnoDB、慢查詢、Query Cache 全維度參數

     編輯:MySQL 資料庫相關知識

一份針對 32GB+ 記憶體、SSD 儲存、高併發 OLTP 負載的生產級 my.cnf 完整註解版,涵蓋連線層、緩衝區、Binlog、InnoDB 核心、慢查詢、Query Cache、MyISAM 相容、導出工具等全維度參數。

核心參數分區解析

連線與基礎

[mysqld]
skip_name_resolve          # 禁用 DNS 反查,加速連線
skip_networking            # 僅允許 Unix Socket (內網專用時啟用)
max_connections=20480      # 最大連線數
thread_cache_size=64       # 執行緒快取,1G→8, 2G→16, 4G+→64
back_log=512               # 監聽佇列長度
max_allowed_packet=8M      # 封包上限

InnoDB 核心 (最關鍵)

innodb_buffer_pool_size=8G          # 純 DB 機建議 60-80% 實體記憶體
innodb_buffer_pool_instances=8      # 多實例減少鎖爭用
innodb_file_per_table=1             # 獨立表空間,利於回收空間
innodb_flush_method=O_DIRECT        # 繞過 OS 快取,減少雙重緩衝
innodb_flush_log_at_trx_commit=0    # 0=每秒刷盤 (高效能、風險 1s 數據) ; 1=全 ACID
innodb_log_buffer_size=8M           # 交易日誌緩衝
innodb_log_file_size=1G             # Redo Log 檔案大小
innodb_log_files_in_group=2
innodb_io_capacity=100              # SSD 可調 500-2000
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb_thread_concurrency=16        # 0=自動,建議 2*(CPU核心+磁碟數)

Binlog 與複寫

log-bin=mysql-bin
binlog_format=mixed                 # ROW+STATEMENT 混合,兼容效能與一致性
sync_binlog=0                       # 0=OS 管理,1=每提交同步 (最安全)
max_binlog_size=1G
binlog_cache_size=2M
expire_logs_days=7                  # 自動清理舊 Binlog

慢查詢與診斷


slow_query_log=1
long_query_time=2
slow_query_log_file=/data/mysql/slowlog/slow.log
log_queries_not_using_indexes=1

Query Cache (8.0 已移除,5.7 視負載決定)


query_cache_type=1
query_cache_size=256M
query_cache_limit=1M
query_cache_min_res_unit=4K

其他實用設定


character_set_server=utf8mb4
default_authentication_plugin=mysql_native_password
open_files_limit=65535
table_open_cache=4096
sort_buffer_size=2M
join_buffer_size=256K
read_rnd_buffer_size=4M

調優核心心法

  1. Buffer Pool 佔 60-80% 記憶體 是單一最重要參數。
  2. Redo Log 大檔案 + 非同步刷盤 (sync_binlog=0, innodb_flush_log_at_trx_commit=0) 換取極致寫入吞吐,接受極小概率 1s 數據丟失。
  3. 慢查詢日誌永久開啟,定期 pt-query-digest 分析 Top N。
  4. 參數變更必須壓測驗證,盲目複製模板極易導致 OOM 或效能退化。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved