| 參數 | 預設 | 建議值 | 調整依據 |
|---|---|---|---|
| back_log | 50 | 500 | 觀察 unauthenticated user 堆積時調大 |
| interactive_timeout | 28800 | 7200 | 減少閒置連線佔用槽位 |
| key_buffer_size | 8M | 400M | MyISAM 索引緩衝,設為實體記憶體 20-25% |
| max_connections | 100 | 1024 | 配合 open_files_limit、ulimit -n |
| read_buffer_size | 128K | 16M | 全表掃描頻繁時調大 |
| sort_buffer_size | 2M | 16M | ORDER BY/GROUP BY 大結果集 |
| table_open_cache | 64 | 512 | 開啟表數量,配合 open_files_limit |
| thread_cache_size | 0 | 80 | 對比 Connections vs Threads_created,重用率 > 90% |
| wait_timeout | 28800 | 7200 | 非互動連線閒置回收 |
/etc/my.cnf 或 /etc/mysql/my.cnf [mysqld] key_buffer_size = 400M max_connections = 1024 ... # 修改後重啟 systemctl restart mysqld
max_connections/back_log。key_buffer + innodb_buffer_pool + (read_buffer + sort_buffer) * max_connections 估算峰值。my.cnf 以便快速回滾。啟動參數 --default-character-set=gb2312 可使搜尋不分大小寫且支援中文,但新專案建議直接用 utf8mb4 + utf8mb4_unicode_ci。