🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# MYSQL监控工具--mytop > mysql可以说如今最为流行的数据库了,虽然现在nosql的风头正盛。但我想很多公司重要的业务数据不会用nosql去跑。而在这些方面mysql似乎的使用更盛(开源免费,让我花钱去买oracle,我想我是不会买的)。君不见taobao、腾讯、facebook这些牛X的IT公司们都自己去修改mysql,将核心业务数据运行在mysql之下。 > > 而平时要对mysql的运行性能进行监控的话工具也非常多。强大复杂的有 oracle官方提供的mysql 企业监控器(当然是收费的),当然开源的配置nagios、cacti上运行的mysql-monitor插件也不少。而想要实时的观察的话,也有mytop、mycheckpoint(绘图显示)、mtop(托管在sourceforge,从04年至今没见更新了。还有一个mongodb 的监控工具也要mtop,托管在github)等等。 > * * * * * * * * * * ## 点击[这里](http://blog.csdn.net/u011871037/article/details/52608831)查看详细描述 > Linux 有个非常有用的 top 命令,可以查看操作系统的性能状态,mytop 命令类似 top 命令,界面结构也类似,只是 mytop 显示的是 mysql 的状态信息,例如我们非常关心的 QPS 指标 使用说明 ![](https://box.kancloud.cn/ae93b4a178467581d17fc881e4297ede_640x166.png) mytop 的结果信息主要分为上下两个部分,上面是各项指标,下面是线程列表 第1行很简单,就是版本信息 第2行是整体信息 ![](https://box.kancloud.cn/694bd7f68fee7013e03b94110b8bbc1d_640x82.png) Queries 服务器处理过的query总数 qps 每秒处理的query数量的平均值 Slow 慢查询总数 Se/In/Up/De(%) Select,Insert,Update,Delete 各自的占比 第3行是实时信息,本刷新周期内的信息统计,刷新周期是在配置文件中指定 ![](https://box.kancloud.cn/01b253b61479599f5a322392c5c0d995_640x82.png) qps now 本周期内的每秒处理query的数量 Slow qps 本周期内的每秒慢查询数量 Threads 当前连接线程数量,后面括号内的第一个数字是active状态的线程数量,第二个数字是在线程缓存中的数量 最后一列是本周期内的 Select,Insert,Update,Delete 各自的占比 ![](https://box.kancloud.cn/c96398d0f6e5c4b9e663cad3a76c0639_640x82.png) Key Efficiency 表示有多少key是从缓存中读取,而不是从磁盘读取的 Bps in/out 表示mysql平均的流入流出数据量 Now in/out 是本周期内的流入流出数据量 剩下的就是线程信息列表 ![](https://box.kancloud.cn/98bfc255f8e682ed389beb66f34c1519_640x89.png) 列出了当前的mysql线程,根据idle状态时间排序,通过 o 键可以选择升序或降序 列表中显示出各线程的详细信息,例如 线程ID、用户名、客户端的地址、连接的数据库名称、详细查询语句 会发现 "show full processlist" 一直都在,因为 mytop 会使用这个语句收集 mysql 信息 辅助命令 mytop 提供了一些有用的命令,在运行界面按下相应按键即可 例如按下 ?,会进入帮助界面 其他示例: 按键 h 可以根据客户端地址进行过滤 按键 s 可以根据用户名进行过滤 按键 k 可以杀死某个线程 按键 m 进入QPS模式,只是动态显示QPS数量 安装配置 安装 以 centos7 为例,执行以下几个命令即可 rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm yum install yum-plugin-protectbase.noarch -y yum install mytop -y 配置 vi /root/.mytop 写入如下内容: host=localhost user=root pass=111111 db=mysql port=3306 socket=/tmp/mysql.sock delay=5 batchmode=0 color=1 idle=1 保存退出 其中就是mysql的连接信息和基本配置 pass是密码,如果感觉不安全,可以不指定,在执行 mytop 命令时再输入,执行方式:mytop --prompt delay 指定 mytop 多长时间刷新一次,也就是前面所说的刷新周期 安装配置完成后,执行 mytop 命令就可以了