Mysql監控工具–mytop
mytop 是一個類似 Linux下的 top 命令風格的 MySQL 監控工具,可以監控當前的連接用戶和正在執行的命令。
一Mytop安裝
1. 安裝TermReadKey
下載地址:http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz
tar xzvf TermReadKey
cd TermReadKey
perl Makefile.pl
make
make test
make install
2. 安裝DBI
下載地址:http://search.cpan.org/search?dist=DBI
tar xzvf DBI-1.615.tar.gz
cd DBI-1.615
perl Makefile.pl
make
make test
make install
3. 安裝Mytop
下載地址:http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
安裝:
tar xzvf mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.pl
make
make test
make install
二mytop工具使用
監控命令:
mytop-u root -p '' -h 10.10.10.29 -P31005 -S/usr/local/mysql/tmp/mysql-31005.sock
監控畫面如下:
監控畫面參數意義:
第一行顯示了主機名稱,還有至今 MySQL的運行時間 (以 days hour:minutes:seconds為格式)。
第二、三行的 Queries顯示了至今執行的 SQL查詢語句總數,另外還有目前每秒處理的查詢數和速度。
第四行的 Key Efficiency就是傳說中的緩存命中率了,如果太低了你可能要調整你的 MySQL設置,或者調整一下表的結構,后面還有目前的進出速度。
最下方的區域就是目前鏈接到數據庫的各個線程,你可以按 k殺死一個線程,或者按 f了解特定線程的信息。
三mytop參數說明
mytop 命令參數
-u / --user
-p / --pass / --password
-h / --host
-P / --port
-s / --delay
-d / --db / --database
-b / --batch / --batchmode:指定為 batch mode,每次更新不會清除舊的顯示結果,會將更新資料顯示上最上方,預設是 unset
-S / --socket
--header or -noheader:是否要顯示表頭,預設是 header
--color or --nocolor:是否要使用顏色,預設是 color
-i / -idle or -noidle:idle 的 thread 是否要出現在清單上,預設是 idle
[注意] 因 .mytop 內有 MySQL server 的密碼,請注意檔案權限
mytop 快捷鍵
s:設定更新時間
p:暫停畫面更新
q:離開
u:只看某個使用者的 thread
o:反轉排列順序
四mytop錯誤解決
如果出現次此錯誤
Use of uninitialized value in substitution (s///) at /usr/bin/mytop line 958.
請按如下步驟修改:
#vim /usr/bin/mytop
{
$thread->{Host} =~ s/:\d+$//;
my $host = gethostbyaddr(inet_aton($thread->{Host}), AF_INET);
$host =~ s/^([^.]+).*/$1/; (刪除或者注釋)
$thread->{Host} = $host;(刪除或者注釋)
if ($host) (添加)
{ (添加)
$host =~ s/^([^.]+).*/$1/;(添加)
$thread->{Host} = $host;(添加)
}
}
}