您的位置:首页 > 数据库 > SQL

Mysql监控工具–mytop

2012-11-27 09:51 369 查看
Andyguo 2012-11-27
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 <USERNAME>:指定 username,预设是 root

-p / --pass / --password <PASSWORD>:指定 password,预设是 none

-h / --host <HOSTNAME[:PORT]>:指定 MySQL server 的 hostname,预设是 localhost

-P / --port <PORT>:指定连接 MySQL server 的 port,预设是 3306

-s / --delay <SECONDS>:更新的秒数,预设是 5 秒

-d / --db / --database <DATABASE>:指定连接的资料库,预设是 test

-b / --batch / --batchmode:指定为 batch mode,每次更新不会清除旧的显示结果,会将更新资料显示上最上方,预设是 unset

-S / --socket <PATH_TO_SOCKET>:指定使用 MySQL socket 直接连线,而不使用 TCP/IP 连线,预设是 none (当 mytop 和 MySQL 在同一台时才能使用)

--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;(添加)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: