基於 Perl/Curses 的 MySQL 進程實時監控工具,類 top 界面,顯示連接、查詢、緩存命中、鍵效率等關鍵指標,運維必備。
| 模塊 | 來源 |
|---|---|
| Curses | https://cpan.linuxforum.net/authors/id/G/GI/GIRAFFED |
| DBI | Bundle::DBI (CPAN TIMB) |
| DBD::mysql | CPAN DBD 模塊 |
| Getopt::Long | Perl 5 核心模塊 |
| Net::Domain | libnet (CPAN GBARR) |
驗證:perl -e 'use Module' 無輸出即已安裝。
yum -y install perl-DBI
# perl-DBD-mysql 依賴 mysql-libs,若自編譯 MySQL 需手動處理
libmysqlclient.so 路徑加入 /etc/ld.so.conf,執行 ldconfig。mysql-devel 提供 mysql_config。perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_configmake && make install
# 安裝 mysql-shared 和 mysql-devel RPM
rpm -ivh mysql-shared-*.rpm mysql-devel-*.rpm
# 定位 libmysqlclient.so
mkdir /tmp/mysql-static
cp /usr/lib64/mysql/libmysqlclient.so /tmp/mysql-static/
# 指定庫路徑編譯
perl Makefile.PL --libs="-L/tmp/mysql-static -lmysqlclient"
make && make install
# 清理
rm -rf /tmp/mysql-static
tar zxvf Curses-x.xx.tar.gz
cd Curses*
perl Makefile.PL
make && make install
tar zxvf mtop-0.6.6.tar.gz
cd mtop-0.6.6
perl Makefile.PL
make && make install
GRANT RELOAD, PROCESS, SUPER ON *.* TO 'mtop'@'localhost' IDENTIFIED BY 'mtop';
FLUSH PRIVILEGES;
# 若 MySQL socket 非 /tmp/mysql.sock,建立軟鏈接
ln -s /var/run/mysqld/mysql.sock /tmp/mysql.sock
# 啟動
mtop --dbuser=mtop --password=mtop
mtop 適合輕量級、無依賴部署的即時巡檢;生產監控體系建議上 PMM。