# 連接超時建議啟用,高負載可適當減少
# connect_timeout=5
# wait_timeout=5
[mysqld]
basedir=D:/MySQL
# bind-address=ip
datadir=D:/MySQL/data
# language=D:/MySQL/share/yourlanguagedirectory
# slowquerylog
# tmpdir
# port=3306
set-variable=max_connections=1500 # 根據服務器性能調整
skip-locking
# skip-networking
set-variable=key_buffer=384M # 索引緩衝,大內存機器可調大
set-variable=max_allowed_packet=1M
set-variable=table_cache=512 # 表快取
set-variable=sort_buffer=2M # 排序緩衝
set-variable=record_buffer=2M # 讀取緩衝
set-variable=thread_cache=8 # 執行緒快取
# CPU核心數*2
set-variable=thread_concurrency=8
set-variable=myisam_sort_buffer_size=64M # MyISAM排序緩衝
# connect_timeout=5
# wait_timeout=5
server-id=1
[isamchk]
set-variable=key_buffer=128M
set-variable=sort_buffer=128M
set-variable=read_buffer=2M
set-variable=write_buffer=2M
[myisamchk]
set-variable=key_buffer=128M
set-variable=sort_buffer=128M
set-variable=read_buffer=2M
set-variable=write_buffer=2M
[WinMySQLadmin]
Server=D:/mysql/bin/mysqld-nt.exe
| 參數 | 本範本值 | 調優方向 |
|---|---|---|
| max_connections | 1500 | 依 CPU/內存/預期併發調整,配合 ulimit -n |
| key_buffer | 384M | MyISAM 核心,建議實體內存 25-30% |
| table_cache | 512 | 減少開表開銷,視 open_tables 狀態調整 |
| sort_buffer / record_buffer | 2M | 每連接分配,過大導致內存耗盡,謹慎調大 |
| thread_cache | 8 | 減少執行緒創建開銷,對比 Threads_created 評估 |
| thread_concurrency | 8 | 建議 CPU 核心數 × 2 (Solaris/舊 Linux 有效) |
| myisam_sort_buffer_size | 64M | 建索引/修復表時加速 |
| skip-locking | 啟用 | 避免外部鎖定,提升併發 |
注意: Windows 路徑請改為實際安裝路徑。修改後重啟 MySQL 生效。監控 SHOW STATUS 与 SHOW VARIABLES 持續微調。