| 工具 | 定位 | 資料來源 | 特色 |
|---|---|---|---|
| mysqlreport | 健康報表、周期生成 | SHOW GLOBAL STATUS/VARIABLES, PROCESSLIST, vmstat | 將海量狀態變數濃縮為關鍵指標 (QPS、緩存命中率、InnoDB 行操作分布等),支援定時輸出報表,適合長期趨勢分析。 |
| mysqlsla | 慢查詢深度分析 | Slow Log / General Log / Binlog | 從日誌聚合出 Top SQL:執行時間、鎖等待、掃描行數、返回行數、抽象 SQL 模板、樣本 SQL。定位「CPU 花在哪些 Query」的利器。 |
| innotop | InnoDB 即時監控 | SHOW ENGINE INNODB STATUS, PROCESSLIST | 類 top 互動介面,即時顯示事務、鎖等待、死鎖、插入緩衝、自適應雜湊索引等 InnoDB 內部狀態,支援多模式切換 (Q, L, I, B...)。 |
| mysql-mon (內部) | 全維度監控 | C 語言直連採集,負載極低 | 系統狀態、分源連接數、資料/索引量、字段範圍、同步延遲等全方位監控,企業級生產環境首選。 |
| 工具 | 功能 | 典型用法 |
|---|---|---|
| myisampack | MyISAM 表壓縮 (唯讀、高壓縮比) | myisampack tbl.MYI → 佔用空間大幅降低,但不可寫入。 |
| mysqladmin | 管理操作 (狀態、建庫、關機、flush-logs...) | mysqladmin -uroot -p status、flush-logs、kill。 |
| mysqlbinlog | 二進制日誌解析/回放 | mysqlbinlog bin.000001 | mysql -uroot -p 時間點恢復。 |
| mysqlcheck | 檢查/修復/優化/分析表 (MyISAM/InnoDB) | mysqlcheck -A --auto-repair --optimize。 |
| mysqldump | 邏輯備份/遷移 (含建表+數據 SQL) | mysqldump -uroot -p --single-transaction --routines --triggers db > bak.sql。 |
| mysqlimport | 載入 mysqldump -T 導出的文本檔 | mysqlimport -uroot -p db tbl.txt (LOAD DATA 封裝)。 |
| mysqlhotcopy | MyISAM 熱備份 (FLUSH+LOCK+cp/scp) - 僅 Linux/Unix | mysqlhotcopy db /backup/dir。 |
| mysqlshow | 快速瀏覽庫/表/欄位/索引 | mysqlshow -uroot -p db tbl。 |
| perror | 系統/儲存引擎錯誤碼解釋 | perror 28 → No space left on device。 |
| replace | 檔案字串替換 (類 sed 但語法更簡單) | replace 'old' 'new' -- file1 file2。 |
mysqlreport 定時跑報表 + innotop 即時看板。mysqlsla 分析 Top SQL → EXPLAIN → 加索引/改寫。mysqldump --single-transaction (邏輯備份、跨版本遷移)。xtrabackup (Percona, 開源、InnoDB 熱備份、增量備份、恢復快)。mysqlcheck -A -o;InnoDB 依賴背景執行緒自動合併,無需手動 OPTIMIZE。perror 秒懂 OS errno;mysqlbinlog 還原事故現場。mysqld_exporter 採集指標 → 建立儀表板、告警 (QPS、連接數、Replication Lag、InnoDB Buffer Pool 命中率...)。pt-query-digest (慢日誌分析神器)、pt-online-schema-change (線上 DDL)、pt-table-checksum (主從一致性驗證)、pt-archiver (歸檔清理)。熟練掌握官方工具組合 + PT 工具包 + 監控體系,覆蓋 MySQL 運維全生命週期 90% 以上場景。