首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 效能監控神器 Innotop 安裝與配置全攻略

     編輯:MySQL 資料庫相關知識

什麼是 Innotop?

Innotop 是一款基於 Perl 開發的 MySQL 即時監控工具,類似 Linux top,專為 InnoDB 引擎設計。它能即時顯示查詢狀態、鎖等待、事務資訊、慢查詢、複製狀態等關鍵指標,是 DBA 診斷效能瓶頸的利器。

安裝前置需求

  • Perl 環境
  • CPAN 模組:Time::HiRes、Term::ReadKey、DBI、DBD::mysql

安裝步驟

# 1. 安裝 Perl 模組
perl -MCPAN -eshell
cpan> install Time::HiRes Term::ReadKey DBI DBD::mysql

# 2. 下載並解壓
wget https://innotop.googlecode.com/files/innotop-1.9.0.tar.gz
tar -zxvf innotop-1.9.0.tar.gz
cd innotop-1.9.0

# 3. 編譯安裝
perl Makefile.PL
make install

驗證安裝

innotop --help        # 顯示幫助
innotop --version     # 顯示版本

核心功能與操作模式

模式鍵功能說明
QQuery List(查詢列表),支援 S 排序、k Kill 查詢
TTransaction List(事務列表)
LLock Info(鎖資訊)
RReplication(主從複製狀態)
IInnoDB Status(InnoDB 內部狀態)
VVariables(系統變數)
SSlow Queries(慢查詢,需開啟 slow query log)

常用快捷鍵:? 幫助、q 離開、d 切換顯示間隔、f 過濾條件。

啟用 MySQL 慢查詢日誌(配合 Innotop S 模式)

# 1. 進入 MySQL 查看現狀
mysql> SHOW VARIABLES LIKE '%quer%';
# log_slow_queries = OFF, long_query_time = 10

# 2. 編輯 /etc/my.cnf([mysqld] 區段)
log-slow-queries = /var/lib/mysql/mysql-slow.log
long_query_time = 3

# 3. 重啟 MySQL
/etc/init.d/mysqld restart

# 4. 驗證
mysql> SHOW VARIABLES LIKE 'log_slow_queries';  # 應為 ON

實戰技巧

  • 遠端監控:innotop -h 192.168.1.100 -u dba -p
  • 儀表板模式:innotop -d 2 每 2 秒刷新,適合大螢幕監控。
  • 配合 pt-query-digest:分析慢查詢日誌生成報告。

常見問題

啟動報錯 Can't locate Term/ReadKey.pm
缺少 Perl 模組,執行 cpan Term::ReadKey 安裝。
無法連接 MySQL
檢查帳號權限、防火牆、skip-name-resolve 設定。

結語

Innotop 輕量、功能強大,是 MySQL DBA 日常巡檢與故障排查的首選工具。建議搭配慢查詢日誌、performance_schema、sys schema 共同構建完整觀測體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved