为了账号安全,请及时绑定邮箱和手机立即绑定

mytop-MySQL监控工具

标签:
MySQL


最近研究了下MySQL的监控工具mytop,也在网络上搜罗了很久,按照他们的流程总是安装不成功,也许是环境不一样的原因吧。在安装的过程中遇到很多问题,迟迟不能解决,但是,在经过一番努力之后终于安装成功了,现在加以详细汇总,以备将来使用,同时也可以给各位博友提供一份参考,将我个人的安装过程贴出来,仅供参考,如有疑问请联系QQ:349871740,欢迎指正^_^

1、OS版本:Red Hat Enterprise Linux Server release 5.3

MySQL版本:4.0.26

2、安装文件列表:

MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm

mytop-1.6.tar.gz

perl-DBD-MySQL-3.0007-2.el5.i386.rpm

perl-DBI-1.52-2.el5.i386.rpm

TermReadKey-2.30.tar.gz

3、相关文件下载链接:

wget http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz

wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz

wget ftp://mirror.switch.ch/pool/1/mirror/mysql/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm

wget ftp://ftp.icm.edu.pl/vol/rzm2/linux-slc/slc54/i386/SL/perl-DBD-MySQL-3.0007-2.el5.i386.rpm

wget ftp://ftp.icm.edu.pl/vol/rzm2/linux-slc/slc58/i386/SL/perl-DBI-1.52-2.el5.i386.rpm

4、安装流程如下:

[root@tech tmp]# tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30

[root@tech TermReadKey-2.30]# perl Makefile.PL && make && make install

[root@tech TermReadKey-2.30]# cd ..

[root@tech tmp]# rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm 

[root@tech tmp]# tar zxvf mytop-1.6.tar.gz && cd mytop-1.6

[root@tech mytop-1.6]# perl Makefile.PL && make && make install

5、配置mytop并运行

[root@tech mytop-1.6]# mytop

Cannot connect to MySQL server. Please check the:

  * database you specified "test" (default is "test")

  * username you specified "root" (default is "root")

  * password you specified "" (default is "")

  * hostname you specified "localhost" (default is "localhost")

  * port you specified "3306" (default is 3306)

  * socket you specified "" (default is "")

The options my be specified on the command-line or in a ~/.mytop

config file. See the manual (perldoc mytop) for details.

Here's the exact error from DBI. It might help you debug:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

[root@tech mytop-1.6]# cat << EOF >/root/.mytop

> user=root

> pass=123456

> host=127.0.0.1

> db=cacti

> delay=10

> port=3306

> resolve=0

> socket=/tmp/mysql.sock

> EOF

[root@tech mytop-1.6]# mytop

6、更详细的参数选项请参考man手册,这里不再赘述。

[root@tech mytop-1.6]# man mytop

7、以下是我的安装和配置过程:

[root@tech ~]# uname -a

Linux tech 2.6.18-128.el5PAE #1 SMP Wed Dec 17 12:02:33 EST 2008 i686 i686 i386 GNU/Linux

[root@tech ~]# lsb_release -a

LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: RedHatEnterpriseServer

Description:    Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Release:        5.3

Codename:       Tikanga

[root@tech ~]# cat /etc/issue    

Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Kernel \r on an \m

[root@tech ~]# cd /tmp

[root@tech tmp]# ll

total 6144

-rw-r--r-- 1 root root 5443408 Mar 24 19:17 MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm

-rw-r--r-- 1 root root   19720 Mar 24 18:39 mytop-1.6.tar.gz

-rw-r--r-- 1 root root  150649 Oct 16  2008 perl-DBD-MySQL-3.0007-2.el5.i386.rpm

-rw-r--r-- 1 root root  613929 Mar 24 19:06 perl-DBI-1.52-2.el5.i386.rpm

-rw-r--r-- 1 root root   37006 Jun 13 10:56 TermReadKey-2.30.tar.gz

-rw-r--r-- 1 root root       0 Jun 16 14:42 typescript

[root@tech tmp]# tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30

TermReadKey-2.30/

TermReadKey-2.30/genchars.pl

TermReadKey-2.30/Makefile.PL

TermReadKey-2.30/Configure.pm

TermReadKey-2.30/test.pl

TermReadKey-2.30/ReadKey.pm

TermReadKey-2.30/META.yml

TermReadKey-2.30/ReadKey.xs

TermReadKey-2.30/ppport.h

TermReadKey-2.30/MANIFEST

TermReadKey-2.30/README

[root@tech TermReadKey-2.30]# perl Makefile.PL && make && make install

Checking if your kit is complete...

Looks good

Writing Makefile for Term::ReadKey

cp ReadKey.pm blib/lib/Term/ReadKey.pm

AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey)

/usr/bin/perl -I/usr/lib/perl5/5.8.8 genchars.pl

Writing termio/termios section of cchars.h... Done.

Checking for sgtty...

        Sgtty NOT found.

Writing sgtty section of cchars.h... Done.

/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap  ReadKey.xs > ReadKey.xsc && mv ReadKey.xsc ReadKey.c

gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"2.30\" -DXS_VERSION=\"2.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"   ReadKey.c

In file included from ReadKey.xs:6:

ppport.h:230:1: warning: "PERL_UNUSED_DECL" redefined

In file included from ReadKey.xs:4:

/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/perl.h:163:1: warning: this is the location of the previous definition

In file included from ReadKey.xs:375:

cchars.h: In function 'XS_Term__ReadKey_GetControlChars':

cchars.h:244: warning: unused variable 'i'

ReadKey.xs: In function 'ReadMode':

ReadKey.xs:770: warning: unused variable 'Perl___notused'

ReadKey.c: In function 'XS_Term__ReadKey_SetTerminalSize':

ReadKey.c:1999: warning: unused variable 'targ'

Running Mkbootstrap for Term::ReadKey ()

chmod 644 ReadKey.bs

rm -f blib/arch/auto/Term/ReadKey/ReadKey.so

gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib ReadKey.o  -o blib/arch/auto/Term/ReadKey/ReadKey.so      \

                \

          

chmod 755 blib/arch/auto/Term/ReadKey/ReadKey.so

cp ReadKey.bs blib/arch/auto/Term/ReadKey/ReadKey.bs

chmod 644 blib/arch/auto/Term/ReadKey/ReadKey.bs

Manifying blib/man3/Term::ReadKey.3pm

Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/ReadKey.bs

Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/ReadKey.so

Files found in blib/arch: installing files in blib/lib into architecture dependent library tree

Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/autosplit.ix

Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Term/ReadKey.pm

Installing /usr/share/man/man3/Term::ReadKey.3pm

Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/.packlist

Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod

[root@tech TermReadKey-2.30]# cd ..

[root@tech tmp]# rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm

warning: perl-DBD-MySQL-3.0007-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

warning: perl-DBI-1.52-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

   1:perl-DBI               ########################################### [ 33%]

   2:MySQL-shared-compat    ########################################### [ 67%]

   3:perl-DBD-MySQL         ########################################### [100%]

[root@tech tmp]# tar zxvf mytop-1.6.tar.gz && cd mytop-1.6        

mytop-1.6/

mytop-1.6/MANIFEST

mytop-1.6/test.pl

mytop-1.6/mytop

mytop-1.6/Changes

mytop-1.6/INSTALL

mytop-1.6/README

mytop-1.6/Makefile.PL

mytop-1.6/META.yml

[root@tech mytop-1.6]# perl Makefile.PL && make && make install

Checking if your kit is complete...

Looks good

Writing Makefile for mytop

cp mytop blib/script/mytop

/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/mytop

Manifying blib/man1/mytop.1

Installing /usr/share/man/man1/mytop.1

Installing /usr/bin/mytop

Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/mytop/.packlist

Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod

[root@tech mytop-1.6]# mytop

Cannot connect to MySQL server. Please check the:

  * database you specified "test" (default is "test")

  * username you specified "root" (default is "root")

  * password you specified "" (default is "")

  * hostname you specified "localhost" (default is "localhost")

  * port you specified "3306" (default is 3306)

  * socket you specified "" (default is "")

The options my be specified on the command-line or in a ~/.mytop

config file. See the manual (perldoc mytop) for details.

Here's the exact error from DBI. It might help you debug:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

[root@tech mytop-1.6]# cat << EOF >/root/.mytop

> user=root

> pass=123456

> host=127.0.0.1

> db=cacti

> delay=10

> port=3306

> resolve=0

> socket=/tmp/mysql.sock

> EOF

[root@tech mytop-1.6]# mytop

MySQL on 127.0.0.1 (4.0.26)                                                                                                                             up 10+22:18:53 [14

:52:13]

 Queries: 81.6k  qps:    0 Slow:   810.0         Se/In/Up/De(%):    23/36/40/01

 Cache Hits: 6.8k  Hits/s:  0.0 Hits now:   0.0  Ratio: 35.8% Ratio now:  0.0% 

 Key Efficiency: 100.0%  Bps in/out:  73.3/ 2.6k

      Id      User         Host/IP         DB      Time    Cmd Query or State                                                                                                 

   

      --      ----         -------         --      ----    --- ----------                                                                                                     

   

     156      root       localhost        cacti         0  Query show full processlist                                                                                        

8、总结:将以上安装过程写成脚本进行快速安装,由于IDC做了ACL限制,不能直接进行wget对安装文件进行下载,个人是首先将安装文件下载到个人电脑,然后上传到服务器的,以下是脚本示例,

[root@tech ~]# cat mytop_install.sh 

_DIR=/tmp/wyq

cd ${_DIR}

tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30

perl Makefile.PL && make && make install

cd ..

rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm 

tar zxvf mytop-1.6.tar.gz && cd mytop-1.6

perl Makefile.PL && make && make install

cd ..

rm -rf TermReadKey-2.30 mytop-1.6

cat << EOF >/root/.mytop

user=root

pass=123456

host=127.0.0.1

db=cacti

delay=10

port=3306

resolve=0

socket=/tmp/mysql.sock

EOF

9、提示:请根据自己的实际环境修改mytop的配置文件以及安装脚本

注:2012年06月18号增加安装效果图,如下

 

©著作权归作者所有:来自51CTO博客作者wangyuqian513的原创作品,如需转载,请注明出处,否则将追究法律责任

工具24


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消