网站搜索

Mytop - 在 Linux 中监控 MySQL/MariaDB 性能的有用工具


Mytop 是一个针对 MySQLMariaDB 数据库的开源免费监控程序,由 Jeremy Zawodny 使用 Jeremy Zawodny 编写。 >Perl语言。它在外观和感觉上与最著名的 Linux 系统监控工具 top 非常相似。

Mytop程序提供了一个命令行shell界面来监控实时MySQL/MariaDB线程每秒查询进程列表数据库性能,并为数据库管理员提供更好地优化服务器以处理重负载的想法。

默认情况下,Mytop 工具包含在 FedoraDebian/Ubuntu 存储库中,因此您只需使用默认包管理器安装它即可。

如果您使用RHEL/CentOS发行版,那么您需要启用第三方EPEL存储库才能安装它。

对于其他 Linux 发行版,您可以获取 mytop 源代码包并从源代码编译它,如图所示。


wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
tar -xvf mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.PL
make
make test
make install

在本 MySQL 监控教程中,我们将向您展示如何在各种 Linux 发行版上安装、配置和使用 mytop

请注意,您必须在系统上运行 MySQL/MariaDB 服务器才能安装和使用 Mytop

在Linux系统中安装Mytop

要安装 Mytop,请运行以下适合您的 Linux 发行版的命令来安装它。


sudo apt install mytop	#Debian/Ubuntu
yum install mytop	        #RHEL/CentOS
dnf install mytop	        #Fedora 22+
pacman -S mytop	        #Arch Linux 
zypper in mytop	        #openSUSE
示例输出:

Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package mytop.noarch 0:1.7-10.b737f60.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================
 Package                               Arch                                   Version                                              Repository                            Size
==============================================================================================================================================================================
Installing:
 mytop                                 noarch                                 1.7-10.b737f60.el7                                   epel                                  33 k

Transaction Summary
==============================================================================================================================================================================
Install  1 Package

Total download size: 33 k
Installed size: 68 k
Is this ok [y/d/N]: y

如何使用Mytop监控MySQL/MariaDB

Mytop 需要 MySQL/MariaDB 登录凭据来监控数据库,并默认使用 root 用户名连接到服务器。您可以在运行命令行时或在文件 ~/.mytop 中指定连接数据库服务器所需的选项(为方便起见,稍后将对此进行说明)。

只需运行以下命令即可启动 mytop 并在出现提示时提供您的 MySQL/MariaDB root 用户密码。默认情况下,这将连接到 test 数据库。

mytop --prompt
Password:

输入 MySQL root 密码后,您将看到 Mytop 监控 shell,如下所示。

如果您想监视特定数据库,请使用 -d 选项,如下所示。例如,以下命令将监视数据库 howtoing

mytop --prompt -d tecmint
Password:

如果您的每个数据库都有特定的admin(例如howtoing数据库admin),则使用数据库用户名和密码进行连接,如下所示。


mytop -u tecmint -p password_here -d tecmintdb

然而,这具有一定的安全隐患,因为用户的密码是在命令行上输入的,并且可以存储在 shell 命令历史文件中。未经授权的人稍后可以查看该文件,他们可能会获得用户名和密码。

为了避免出现这种情况的风险,请使用 ~/.mytop 配置文件指定连接数据库的选项。此方法的另一个优点是,每次运行 mytop 时,您都无需输入大量命令行参数。


vi ~/.mytop

然后在其中添加下面必要的选项。


user=root
pass=password_here
host=localhost
db=test
delay=4
port=3306
socket=

保存并关闭文件。然后运行mytop,不带任何命令行参数。


mytop

它能够在屏幕上显示大量信息,并且还具有许多键盘快捷键选项,请查看“man mytop”以获取更多信息。


man mytop

另请阅读

  1. RHEL/CentOS/Fedora 中的 Mtop(MySQL 数据库监控)
  2. Innotop 监控 MySQL 性能

在本文中,我们解释了如何在 Linux 中安装、配置和使用 mytop。如果您有任何疑问,请使用下面的反馈表联系我们。