CentOS下使用MyTop实时监控MySQL

MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/

MyTop安装

安装依赖包 

yum install perl-ExtUtils-Embed make -y 
1. 安装TermReadKey 
wget 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 
wget 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
或者:
[root@hd-- mytop-1.6]# yum list|grep DBD
Unable to read consumer identity
perl-DBD-MySQL.x86_64 3.0007-.el5 installed
perl-DBD-Pg.x86_64 1.49-.el5_3. hc360
[root@hd-- mytop-1.6]# yum -y install perl-DBD-MySQL.x86_64
3. 安装Mytop 
wget 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命令参数

$ man 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的使用

  • 命令行运行

$ mytop -uroot -pmysql -d wordpress -h 127.0.0.1
  • 通过配置文件运行

MyTop配置文件在~/.mytop,也可在~/.my.cnf文件中配置用户名和密码。

$ vim ~/.mytop

user=root
pass=mysql
host=localhost
db=wordpress
delay=5
port=3306
socket=/var/lib/mysql//mysql.sock
batchmode=0
header=1
color=1
idle=1

注意:socket设置和my.cnf里的路径一样,一般MyTop和Mysql在同一台机器。

  • MyTop远端监控

若将MyTop装在另一台机器上时,需要设定MySQL Server上的权限才能远端监控

在MySQL Server上新增一个帐号,并给它Process的权限

$ mysql -u root -p
mysql> grant process on *.* to <REMOTE_USERNAME>@<REMOTE_IP> identified by '<PASSWORD>';
mysql> flush privileges;
mysql> exit

在安装MyTop的机器上,用参数指定或修改配置文件的设定。

参数指定

$ mytop -u <REMOTE_USERNAME> -p <PASSWORD> -h <MYSQL_SERVER_IP>

修改配置文件

$ vim ~/.mytop

user=<REMOTE_USERNAME>
pass=<PASSWORD>
host=<MYSQL_SERVER_IP>
  • MyTop快捷键

s:设定更新时间
p:暂停画面更新
q:离开
u:只看某个使用者的thread
o:反转排列顺序
  • 监控画面参数解释

Mytop和Linux下面的top命令展现的结果类似,下面展示了每个线程的当前的状态并且是动态变化。

$ mytop -uroot -pmysql -d wordpress -h 127.0.0.1

MySQL on 127.0.0.1 (5.6.29-log)                                                  up 0+05:44:42 [16:51:31]
Queries: 654.0  qps:    0 Slow:     0.0         Se/In/Up/De(%):    00/00/00/00
            qps now:    0 Slow qps: 0.0  Threads:    1 (   1/   0) 00/00/00/00
Key Efficiency: 100.0%  Bps in/out:   0.8/160.4   Now in/out:   9.7/ 2.0k      Id      User         Host/IP         DB      Time    Cmd Query or State                                                                                                                                                                                                
      --      ----         -------         --      ----    --- ----------                                                                                                                                                                                                    
       8      root       localhost  wordpress         0  Query show full processlist
  • 第一行显示了主机名称,还有至今MySQL的运行时间(以days hour:minutes:seconds为格式)。

  • 第二、三行的显示了Qps:每秒请求书、Slow:慢查询的数量、Se/In/Up/De(%):读写比例。

  • 第四行的Key Efficiency就是Myisam的键值缓存区使用比例(缓存命中率),Bps:目前网络进出流量。

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

MySQL 之 MyTop实时监控MySQL的更多相关文章

  1. CentOS下使用MyTop实时监控MySQL

    CentOS下使用MyTop实时监控MySQL MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/ MyTop安装 $ yum -y install ...

  2. 蛙蛙推荐:如何实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  3. 实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  4. 用sysbench压测MySQL,通过orzdba监控MySQL

    1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...

  5. 实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  6. java实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  7. 160411、实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  8. zabbix实时监控mysql业务数据

    1. 安装zabbix agent 下载zabbix:过往的软件包都有:https://sourceforge.mirrorservice.org/z/za/zabbix/ZABBIX%20Lates ...

  9. cacti监控mysql

    cacti监控mysql 2013-09-25 16:21:43 分类: LINUX 原文地址:cacti监控mysql 作者:baochenggood cacti监控mysql 1 下载cacti监 ...

随机推荐

  1. Kettle入门--作业和转换的使用

    本来想在centos7下部署的,发现因为java版本的问题,无法成功部署,无奈,转到windows平台(后来找到解决方法了,在centos7系统下yum install webkitgtk* -y 就 ...

  2. C++中的智能指针、轻量级指针、强弱指针学习笔记

    一.智能指针学习总结 1.一个非const引用无法指向一个临时变量,但是const引用是可以的! 2.C++中的delete和C中的free()类似,delete NULL不会报"doubl ...

  3. MySQL Transaction--两阶段提交事务

    分布式事务两阶段提交 在分布式事务中,需要协调所有分布式原子事务参与者,并决定提交或回滚分布式事务,因此采用两阶段提交协议: 第一阶段为请求阶段或表决阶段,事务协调者通知事务参与者准备提交或取消事务, ...

  4. nuxt docker 运行

    nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app 是一个很不错的选择 备注: 项目很简单,使用docker && docker-c ...

  5. centos配置apache的https服务

    因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache ...

  6. 什么是数学 (R·柯朗 H·罗宾 著)

    第1章 自然数 引言 $1 整数的计算 1. 算术的规律 2. 整数的表示 3. 非十进位制中的计算 $2 数学的无限性 数学归纳法 1. 数学归纳法原理 2. 等差级数 3. 等比级数 4. 前n项 ...

  7. WinForm读取指定的config文件的内容

    config文件的使用 一.缘起 最近做项目开始使用C#,因为以前一直使用的是C++,因此面向对象思想方面的知识还是比较全面的,反而是因没有经过完整.系统的.Net方面知识的系统学习,经常被一些在C# ...

  8. mongodb之 oplog 日志详解

    1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样 ...

  9. 记一次挂马清除经历:处理一个利用thinkphp5远程代码执行漏洞挖矿的木马

    昨天发现 一台服务器突然慢了 top 显示 几个进程100%以上的cpu使用 执行命令为 : /tmp/php  -s /tmp/p2.conf 基本可以确定是被挂马了 下一步确定来源 last 没有 ...

  10. c语言中如何通过二级指针来操作二维数组

    通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上.之后就可以通过二维指针直接访问了. 参考代码如下,可以看具体注释辅 ...