MYTOP安装和使用

时间:2021-10-22 13:38:16

安装 mytop

1. 在 /etc/yum.repo.d 新建一个文件 21andy.com.repo 
[21Andy.com] 
name=21Andy.com Packages for Enterprise Linux 5 - $basearch 
baseurl=http://www.21andy.com/centos/5/$basearch/ 
enabled=1 
gpgcheck=0

2. 启用 EPEL 仓库 
i386 
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

x86_64 
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm

3. 现在可以直接 yum 了 
yum -y install mytop

4. 装好了,设置一下配置文件 mytop 的配置文件在 ~/.mytop 自己新建一个 
# vim ~/.mytop

输入如下内容,保存 
user=你的mysql用户 
pass=你的mysql密码 
host=localhost 
db=你要监控的数据库名 
delay=5 
port=3306 
socket=/var/lib/mysql/mysql.sock 
batchmode=0 
header=1 
color=1 
idle=1

注意,socket 设置和 my.cnf 里的路径一样,一般我们是 mytop 和 mysql 在同一台机

本文出处:http://www.21andy.com/blog/

OK,安装都完成了,现在运行 mytop 试一下效果

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 快捷键 
s:设定更新时间 
p:暂停画面更新 
q:离开 
u:只看某个使用者的 thread 
o:反转排列顺序

mytop 远端监控 
若将 mytop 装在另一台机器上时,需要设定 MySQL server 上的权限,才有办法远端监控

(1)在 MySQL server 上新增一个帐号,并给它 process 的权限 
mysql -u root -p 
mysql> grant process on *.* to <REMOTE_USERNAME>@<REMOTE_IP> identified by '<PASSWORD>'; 
mysql> flush privileges; 
mysql> exit

(2)在安装 mytop 的电脑上,用参数指定或修改配置文件的设定 
mytop -u <REMOTE_USERNAME> -p <PASSWORD> -h <MYSQL_SERVER_IP>

或修改 .mytop 
user=<REMOTE_USERNAME> 
pass=<PASSWORD> 
host=<MYSQL_SERVER_IP>