Mytop是一款监控MySQL性能的免费工具,运行在Linux命令行下,类似于top工具,只不过Mytop显示的是MySQL记录。Mytop可以持续的监控MySQL的在线情况、当前进程、查询记录、用户行为以及其他实时信息,帮助我们对MySQL进行性能优化。这篇帮助基于一台CentOS云服务器,演示如何安装、设置以及使用Mytop工具。
安装Mytop
首先安装EPEL软件库,这是一个免费开源的软件包版本库,为Linux操作系统提供一系列额外的软件包。
yum install epel-release -y
然后用一个命令即可安装Mytop。
yum install mytop -y
设置Mytop
为了简化Mytop的使用,我们可以为Mytop创建一个配置文件:/root/.mytop。当我们运行Mytop时,该配置文件将会被自动调用。如果希望由非root用户调用,那么把该配置文件放在相应的用户目录下即可。
下面是一个.mytop文件的示例。
user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
以上代码提供了Mytop运行时的默认参数,减少手工输入的麻烦。不过,如果我们运行Mytop时手工输入了以上参数,手工输入的参数则会覆盖.mytop配置文件中的默认参数。
.mytop配置文件的参数含义如下。
- user:数据库用户名。
- pass:数据库密码。出于安全期间,建议该项留空,手工在命令行中输入。
- host:数据库主机。
- db:数据库名称。
- delay:刷新间隔,单位为秒。
其他参数的完整解释可以查看帮助手册。
man mytop
使用Mytop
上文提到Mytop同时使用配置文件和命令行中的参数,并且后者会覆盖前者。因此准备好.mytop配置文件后,只需要在命令行中输入很少的参数即可。
例1:出于安全性,如果要在命令行中输入数据库密码,执行以下命令。数据库主机、数据库名称和数据库用户名将使用配置文件中的参数。
sudo mytop --prompt
例2:如果要监控某个数据库,执行以下命令,其中yourdatabasename替换为数据库名称。
sudo mytop -d yourdatabasename --prompt
执行结果如下。
MySQL on localhost (5.6.26-log) up 0+08:36:33 [12:07:15]
Queries: 921.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/140.7 Now in/out: 9.7/ 1.9k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
14 root localhost mysql 0 Query show full processlist
其中前四行是MySQL的基本信息,下面是MySQL的当前进程列表。退出监控按q键。
以上就是Mytop工具的安装、配置和使用方法,我们可以用Mytop收集来的信息优化MySQL数据库。