MySQL监控工具——innotop

innotop是一个mysql数据库实时监控工具,其功能强大,信息种类繁多,很能体现数据库的状态.

它实际上是一个perl脚本,整合show status/show variables/show engine innodb status输出结果并进行统计和格式化输出.

一、安装:

$ yum install -y innotop

二、用法:

$ innotop -u -p -h -P -d 
$ innotop -h192.168.1.100 -uroot -p123456

三、界面说明:

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

shift+C:汇总表通过提取STATUS_VARIABLES变量。变量必须是数字,必须匹配给定的cmd_filter配置变量的前缀。百分比列是在表中的所有变量总数的百分比,所以你可以看到变数的相对比例。默认的前缀是“Com_”。你可以选择的‘s‘键改变过滤前缀。

shift+D:在过去InnoDB的死锁中涉及的事务。第二个表显示等待事务。

shift+F:显示最后InnoDB的外键的错误信息,没有就不显示

shift+I:显示InnoDB的I/O信息,包括I/O线程,挂起的I/O,文件I/O,日志统计。

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

shift+M:输出了SHOW SLAVE STATUS和SHOW MASTER STATUS的信息成3张表,前两个显示从的sql和I/O的状态,最后显示主的状态

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

shift+Q:此模式显示从SHOW FULL PROCESSLIST的信息,就像mytop的查询列表模式。有一个信息头,显示有关服务器的一般状态信息。可以用‘h‘切换开或关。默认情况下,innotop隐藏不活动的进程和它自己的进程。您可以切换和关闭这些用‘i‘和‘a‘键。按e并输入thread ID显示执行计划或者按f显示完整sql语句,或者按o显示系统优化过的语句.

shift+R:显示InnoDB行操作、row operation miscellaneous、信号、innodb等待信息

shift+S:每秒查询的统计信息。您可以显示绝对值之间,或增量值。‘s‘ 键是没一定时间打印数字到前面.‘g‘ 键是打印图像.‘v‘ 键是以一个表格的形式显示,定期刷新值。

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

四、参数说明:

innotop --help

-c 指定配置文件(指定之后就不用写用户密码和地址了,等于常用查询)

-d 指定刷新时间,以秒为单位

-h 指定连接地址,可以是ip也可以是域名

-n 变成非交互式,输出用制表符分隔字段(可以让监控脚本调用提取数值)

-p 指定连接地址的登录密码

-P 指定连接地址的登录端口

-S 指定连接的socket文件地址(等于查本机)

-t 以-n模式打印时间戳(1:每次迭代; 2:每行)

-u 指定连接地址的登录用户名

--version 查看版本号

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

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

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 (杀死一查询)

Other:

TAB Switch to the next server group / Quickly filter what you see

! Show license and warranty = Toggle aggregation

# Select/create server groups @ Select/create server connections

$ Edit configuration settings \ Clear quick-filters

五、参考资料: