本文保留一份經典 MySQL 4.x/5.0 時代 my.cnf 配置模板,採用舊式 set-variable 語法,供維護舊版本環境或考古研究參考。現代版本(5.6+)請直接使用變量名賦值形式。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-locking
set-variable = key_buffer=16M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = record_buffer=1M
set-variable = table_cache=1024
set-variable = sort_buffer=4M
set-variable = net_buffer_length=8K
set-variable = max_connect_errors=100
set-variable = max_connections=1024
server-id = 1
[mysqldump]
quick
set-variable = max_allowed_packet=16M
[mysql]
no-auto-rehash
# safe-updates
[isamchk]
set-variable = key_buffer=20M
set-variable = sort_buffer=20M
[myisamchk]
set-variable = key_buffer=20M
set-variable = sort_buffer=20M
[mysqlhotcopy]
interactive-timeout
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
| 舊寫法 | 現代寫法 | 說明 |
|---|---|---|
set-variable = key_buffer=16M | key_buffer_size = 16M | MyISAM 索引緩存 |
set-variable = max_allowed_packet=1M | max_allowed_packet = 1M | 網絡包大小上限 |
set-variable = thread_stack=64K | thread_stack = 256K | 線程棧,建議調大 |
set-variable = record_buffer=1M | read_buffer_size = 1M | 順序讀緩存 |
set-variable = table_cache=1024 | table_open_cache = 2000 | 表緩存,建議調大 |
set-variable = sort_buffer=4M | sort_buffer_size = 4M | 排序緩存 |
set-variable = net_buffer_length=8K | net_buffer_length = 16K | 網絡緩存初始值 |
set-variable = max_connect_errors=100 | max_connect_errors = 100000 | 防暴力破解鎖定 |
set-variable = max_connections=1024 | max_connections = 2000 | 最大連接數 |
⚠️ 本模板參數數值為**經典小內存機器示例**,現代生產環境請根據實際內存、CPU、存儲、負載特徵進行容量規劃與壓測調優。