wget https://www.day32.com/MySQL/tuning-primer.sh chmod +x tuning-primer.sh ./tuning-primer.sh
| 檢查項目 | 關鍵發現 | 建議行動 |
|---|---|---|
| SLOW QUERIES | 慢查詢日誌未啟用,9589 條 >10s | 啟用 slow_query_log,設定 long_query_time |
| BINARY UPDATE LOG | Binlog 開啟但 expire_logs_days 未設 | 設定 expire_logs_days=7 自動清理 |
| WORKER THREADS | thread_cache_size=32,命中良好 | 保持現狀 |
| MAX CONNECTIONS | 使用率 55% | 配置合理 |
| MEMORY USAGE | 配置上限 16.48G > 物理 8G(90%+) | 嚴重超配! 大幅降低緩衝區參數 |
| KEY BUFFER | key_buffer_size=2G 但實際索引僅 8K,未命中率極低 | 大幅縮小,釋放記憶體給 InnoDB |
| QUERY CACHE | query_cache_size > query_cache_limit 配置錯誤 | 修正參數關係 |
| JOINS | 1 次無索引 Join,join_buffer_size=132K 偏小 | 啟用 log-queries-not-using-indexes、調大 join_buffer、補索引 |
| TABLE SCANS | 掃描比 4650:1 偏高 | 調大 read_buffer_size、優化索引 |
| TABLE LOCKING | 等待比 1:5833374 | 正常 |
key_buffer_size,InnoDB 主場看 innodb_buffer_pool_sizejoin_buffer_size 警告提示「無索引 Join 才建議調大」,優先補索引定期運行 tuning-primer,結合業務負載微調,持續保持實例健康。