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

mysql监控工具实战

2014-05-29 16:57 393 查看
相关问题 可以查看这篇文章:http://blog.sina.com.cn/s/blog_645e2f0b01012npz.html

Can't locate ExtUtils/MakeMaker.pm in @INC 错误解决

yum -y install *YAML*  perl-devel perl-CPAN

1.innotop使用

wget http://innotop.googlecode.com/files/innotop-1.9.0.tar.gz

CPAN安装使用:http://search.cpan.org/~andk/CPAN-1.9402/lib/CPAN.pm

安装INNOTOP工具非常简单,其是由PERL写的,当然需要PERL环境和相关的工具包。在安装之前先要确定你的系统安装了Time::HiRes,Term::ReadKey,DBI,DBD::mysql这四个包

# perl -MCPAN -eshell

CPAN> install Time::HiRes

CPAN> install Term::ReadKey

CPAN> install DBI

CPAN> install DBD::mysql

 可能安装DBD会出错,最后解决,还是源码安装解决.

使用的软件版本

DBI-1.604.tar.gz

DBD-mysql-4.006.tar.gz 

建议使用以上版本搭配,否则可能连接mysql错误 

一、DBI的安装

wget http://www.cpan.org/modules/by-module/DBD/DBI-1.604.tar.gz

tar -zxvf DBI-1.604.tar.gz

cd DBI-1.604

perl Makefile.PL

make

make test

make install

二、DBD的安装 

注意mysql的环境变量,若没有则用 添加/usr/binl/mysql到环境变量PATH中 
PATH/usr/binl/mysql:$PATH;

export PATH (mysql的安装路径根据实际情况填写) 

wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.006.tar.gz

tar -zxvf DBD-mysql-4.006.tar.gz

cd DBD-mysql-4.006

perl Makefile.PL --mysql_config=/usr/local/webserver/mysql/bin/mysql_config --testuser=root --testpassword=root --testsocket=/tmp/mysql.sock 

make

make test

make install

其它可能发生的状况  
如果运行某个调用MYSQL数据库的程序时出现如下系统提示:
install_driver(mysql) failed: Can't load '/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBD/mysql/mysql.so' for module DBD::mysql: /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBD/mysql/mysql.so:
undefined symbol: uncompress at /usr/lib/perl5/5.6.1/i386-linux/DynaLoader.pm line 206. at (eval 2) line 3  
那么说明DBD::MYSQL未安装成功。
此时将/usr/local/mysql/include/mysql/*
复制到/usr/include/
同时将/usr/local/mysql/lib/mysql/*
复制到/usr/lib/(64位系统/usr/lib64/)
然后使用perl Makefile.PL设置环境,再进行后续的正常安装,就能正确连接到MYSQL数据库。 

在解压缩后的源码路径下有安装帮助文件,如下:

# perl Makefile.PL

如果没有报错,然后,使用

# make install

这样就安装 innotop,安装之后系统就会多出一个命令,innotop
innotop -uroot -proot -S /tmp/mysql.sock

可获取的内容:

1.显示当前innodb的全部事务列表;

2.显示当前正运行着的查询;

3.显示当前锁和锁等等的列表;

4.服务器状态和变量的摘要信息 显示了数值的相对变化幅度;

5.有多种模式可用来显示Innodb 内部信息,如缓冲区、死锁、外键错误、I/O情况、行操作、信号量等。

6.复制健康,将主机和从机的状态显示一起;

7.有一个显示任意服务器变量的模式;

8.服务器组可以帮你更方便的组织多台服务器;

9.在命令行脚本下可以使用非交互模式。

连接其他机器:

innotop -u <username> -p <password> -h <hostname>

例:innotop -u root -p 123456 -h 192.168.1.2

连接成功后 输入?可以进入帮助:

括号中为后加的注释

Switch to a different mode:

   B  InnoDB Buffers           I  InnoDB I/O Info      Q  Query List

   C  Command Summary   L  Locks                      R  InnoDB Row Ops

   D  InnoDB Deadlocks     M  Replication Status  S  Variables & Status

   F  InnoDB FK Err            O  Open Tables           T  InnoDB Txns

Actions:

   a  Toggle the innotop process(切换innotop进程)    k  Kill a query's connection(杀死一查询的连接)

   c  Choose visible columns    (可见列选择)         n  Switch to the next connection(切换到下一个连接)

   d  Change refresh interval   (更改刷新间隔)       p  Pause innotop (暂停innotop)

   e  Explain a thread's query  (线程的查询执行计划)     q  Quit innotop  (退出)

   f  Show a thread's full query(显示线程的完整查询) r  Reverse sort order (反向排序)

   h  Toggle the header on and off(头切换和关闭)     s  Change the display's sort column(更改显示的排序列)

   i  Toggle idle processes       (切换空闲进程)     x  Kill a query  (杀死一查询)

Switch to a different mode 详解:

B  InnoDB Buffers:

该模式显示有关InnoDB缓冲池,页面统计,插入缓冲,自适应哈希索引。这些数据来自展示InnoDB的状态。

此模式默认包含buffer_pool,page_statistics,insert_buffers,和adaptive_hash_index表。

C  Command Summary:

该命令是建立汇总表通过提取STATUS_VARIABLES变量。变量必须是数字,必须匹配给定的cmd_filter配置变量的前缀。百分比列是在表中的所有变量总数的

百分比,所以你可以看到变数的相对比例。

默认的前缀是“Com_”。你可以选择的's'键改变过滤前缀。

D  InnoDB Deadlocks:

这种模式显示,在过去InnoDB的死锁中涉及的事务。第二个表显示等待事务。

F  InnoDB FK Err:

此模式显示最后InnoDB的外键的错误信息,

I  InnoDB I/O Info:

这种模式显示InnoDB的I/O信息,包括I/O线程,挂起的I/O,文件I/O,日志统计。默认显示io_threads,pending_io,file_io_misc,和log_statistics

L  Locks:

这种模式显示了当前锁的信息。目前只支持InnoDB,并在默认情况下你只看到那些锁等待的事务。

M  Replication Status:

这种模式输出了 SHOW SLAVE STATUS 和 SHOW MASTER STATUS 的信息成3张表,前两个显示从的sql和I/O的状态,最后显示主的状态

O  Open Tables:

这部分来自SHOW OPEN TABLES命令的输出,默认情况下,筛选出正由一个或多个查询使用的表,这样可以快速得到哪些表是'热'。也可以猜测哪些表可能被

锁。

Q  Query List:

此模式显示从SHOW FULL PROCESSLIST的信息,就像mytop的查询列表模式。有一个信息头,显示有关服务器的一般状态信息。可以用'h'切换开或关。默认情况下,innotop隐藏不活动的进程和它自己的进程。您可以切换和关闭这些用'i'和'a'键。

R  InnoDB Row Ops:

全名是InnoDB Row Operations and Semaphores(InnoDB的行操作和信号灯)。

这种模式显示InnoDB行操作、row operation miscellaneous、信号、innodb等待信息

S  Variables & Status:

这种模式计算,如每秒查询的统计信息。您可以显示绝对值之间,或增量值。

's' 键是没一定时间打印数字到前面

'g' 键是打印图像

'v' 键是以一个表格的形式显示,定期刷新值。

T  InnoDB Txns:

全名是InnoDB Transactions。

这种模式从innodb监视器中输出事务。你可以杀掉一个查询或进程,通过'k'和'x'键,也可以explain一个查询,通过'e'或'f'键。InnoDB不会输出所有的查询事务,如果查询太长被截断。信息头可以用'h'键打开或关闭,默认情况下,innotop隐藏不活动的进程和它自己的进程。您可以切换和关闭这些用'i'和'a'键。top

mytop监控安装

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

perl Makefile.PL

make

make install

mytop

Error in option spec: "long|!"

vim /usr/local/bin/mytop

#"long|!"              => \$config{long_nums}, 注释这行代码

cat << EOF >/root/.mytop

user=root

pass=root

host=127.0.0.1

db=languang1

db=languang2

delay=5

port=3306

socket=/tmp/mysql.sock

batchmode=0

header=1

color=1

idle=1

EOF

详细的使用说明可以执行man mytop获得。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  innotop mytop mysql监控