ITPub博客

首页 > 数据库 > MySQL > Mytop小工具

Mytop小工具

原创 MySQL 作者:小亮520cl 时间:2015-11-05 13:59:41 0 删除 编辑

下面介绍下用Mytop小工具来监控MySQL资源的步骤:


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://cpan.uwinnipeg.ca/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


4. 运行Mytop进行监控

./mytop -u wapcms -p '4lRPjpIda7AccAQ$' -h 192.168.52.148:3308

【其中,-u参数后面是数据库用户名,-p参数后面是数据库密码,-h参数后面是数据库服务器地址和数据库所用端口号】


运行监控画面如下:


说明:

第一行显示了主机名称,还有至今 MySQL 的运行时间 (以 days hour:minutes:seconds 为格式)。

第二、三行的 Queries 显示了至今执行的 SQL 查询语句总数,另外还有目前每秒处理的查询数和速度。

第四行的 Key Efficiency 就是传说中的缓存命中率了,如果太低了你可能要调整你的 MySQL 设置,或者调整一下表的结构,后面还有目前的进出速度。

最下方的区域就是目前链接到数据库的各个线程,你可以按 k 杀死一个线程,或者按 f 了解特定线程的信息。

三mytop参数说明

mytop 命令参数 
-u / --user :指定 username,预设是 root 
-p / --pass / --password :指定 password,预设是 none 
-h / --host :指定 MySQL server 的 hostname,预设是 localhost 
-P / --port :指定连接 MySQL server 的 port,预设是 3306 
-s / --delay :更新的秒数,预设是 5 秒 
-d / --db / --database :指定连接的资料库,预设是 test 
-b / --batch / --batchmode:指定为 batch mode,每次更新不会清除旧的显示结果,会将更新资料显示上最上方,预设是 unset 
-S / --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 出现 Error in option spec: "long|!"

编辑 mytop vim /usr/bin/mytop

找到 "long|!" => \$config{long_nums},

修改成 "long|long_nums|l!" => \$config{long_nums},

问题解决

使用的时候出现

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;(添加)

           }

}

}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-1823191/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
毕业以后专业任职数据库工程师职位,itpub一直作为自己的笔记记录的地方,blog写的不详细,草书笔记,仅供参考!

注册时间:2013-09-12

  • 博文量
    529
  • 访问量
    1126943