介绍
Mytop是一个免费的基于控制台的工具,用于监视MySQL的性能,它类似于"top"实用程序,但是它显示了MySQL查询,通过mytop,可以快速监控MySQL的运行时间,线程,查询,用户行为和其他实时状态信息。
在本教程中,我将向您展示如何在基于一键安装的LEMP的新服务器上安装,配置和使用mytop。
前提条件
在继续之前,你需要:使用sudo权限作为非root用户登录,你可以找到如何创建非root用户本文 。
步骤1:使用EPEL库安装mytop
借助EPEL (Enterprise Linux 额外包)yum库,你可以在服务器上轻松安装mytop ,
你可以通过以下方式确认EPEL的存在:sudo yum repolist
.将出现 epel Extra Packages for Enterprise Linux 6 - x86_64 存储库列出。
要保护EPEL存储库中的包不被其他存储库中的包更新或覆盖,您需要安装"protectbase "插件:sudo yum install yum-plugin-protectbase.noarch -y
然后编辑文件/etc/yum.repos.d/epel.repo,输入:cd /etc/yum.repos.d
sudo vi epel.repo
会一行protect=1附加到节[epel] :[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
protect=1
保存并关闭文件。
最后,使用以下方法安装mytop :sudo yum install mytop -y
步骤2:使用定制的配置文件配置mytop
为了简化mytop的使用,你可以创建一个名为/root/.mytop的定制配置文件,当您以root用户身份运行mytop或使用sudo权限运行非root用户时,程序将自动调用此配置文件。如果要以不具有sudo权限的非root用户身份运行它,则需要将配置文件放在非root用户的主目录中。
下面是配置文件/root/.mytop的例子:user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
此文件中的内容提供了mytop程序的默认参数,在使用时减少了你的手动输入,但是,如果使用参数手动输入程序,则命令行参数会覆盖配置文件中对应的参数。
你可以根据具体条件修改这些参数,下面列出了这些参数的一些含义:user :数据库用户名,
pass :数据库用户的密码,出于安全目的,你可以会它保留为空白,并手动输入密码,
host :数据库主机地址,
db :数据库名称,
delay :以秒为单位显示刷新间隔,
可以在手册页中找到每个参数的完整解释:man mytop
步骤3:使用mytop监视MySQL性能
如前所述,实用程序在配置文件和命令行参数中使用两个参数,后者会相应地覆盖。
因此,使用配置文件,只需要输入很少参数的命令即可。
例如,如果要输入密码以获得更好的安全性,可以输入:sudo mytop --prompt
然后输入默认数据库和用户root (可以在/root/.my.cnf中找到)的密码,以进入mytop程序界面。
下面是另一个例子,如果要监视特定数据库,可以使用:sudo mytop -d yourdatabasename --prompt
用你自己的替换yourdatabasename 。
在mytop程序界面中,你可以找到如下内容: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
这是mytop的默认线程视图,你可以按下面的键切换到这个视图。
前四行构成标题,按Shift键可以打开或关闭标题。标题包含了你的MySQL服务器的一般信息。
在标题下面,你可以看到当前MySQL线程的状态数据。
要获取帮助,请按? (Shift /)程序运行时。
要退出该程序,请按q。
关于mytop的显示和用法的详细信息可以在它的手册页中找到:man mytop
就这样 ,您可以使用从mytop收集的数据来实现聪明的MySQL优化。