Mytop: una eina útil per supervisar el rendiment de MySQL/MariaDB a Linux


Mytop és un programa de seguiment gratuït i de codi obert per a bases de dades MySQL i MariaDB, escrit per Jeremy Zawodny amb llenguatge Perl. L'aspecte i la sensació són molt semblants a l'eina de monitorització del sistema Linux més famosa anomenada top.

El programa Mytop proporciona una interfície d'intèrpret d'ordres de línia d'ordres per supervisar els fils MySQL/MariaDB en temps real, les consultes per segon, la llista de processos i el rendiment de les bases de dades i dóna una idea a l'administrador de bases de dades per optimitzar millor el servidor per gestionar una càrrega pesada.

De manera predeterminada, l'eina Mytop s'inclou als repositoris Fedora i Debian/Ubuntu, de manera que només l'has d'instal·lar amb el teu gestor de paquets predeterminat.

Si utilitzeu distribucions RHEL/CentOS, haureu d'habilitar el repositori EPEL de tercers per instal·lar-lo.

Per a altres distribucions de Linux, podeu obtenir el paquet font mytop i compilar-lo des de la font com es mostra.

# 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

En aquest tutorial de monitorització de MySQL, us mostrarem com instal·lar, configurar i utilitzar mytop en diverses distribucions de Linux.

Tingueu en compte que heu d'executar MariaDB Server al sistema per instal·lar i utilitzar Mytop.

Instal·leu Mytop als sistemes Linux

Per instal·lar Mytop, executeu l'ordre corresponent a continuació per a la vostra distribució de Linux per instal·lar-lo.

$ 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

Com utilitzar Mytop per supervisar MySQL/MariaDB

Mytop necessita credencials d'inici de sessió MySQL/MariaDB per supervisar les bases de dades i es connecta al servidor amb el nom d'usuari root de manera predeterminada. Podeu especificar les opcions necessàries per connectar-vos al servidor de bases de dades a la línia d'ordres mentre l'executeu o al fitxer ~/.mytop (per comoditat, com s'explica més endavant).

Només cal que executeu l'ordre següent per iniciar el mytop i proporcioneu la vostra contrasenya d'usuari root de MySQL/MariaDB, quan se us demani. Això es connectarà a la base de dades de prova per defecte.

# mytop --prompt
Password:

Un cop hàgiu introduït la contrasenya d'arrel de MySQL, veureu l'intèrpret d'ordres de monitorització de Mytop, de la mateixa manera que a continuació.

Si voleu supervisar una base de dades específica, feu servir l'opció -d com es mostra a continuació. Per exemple, l'ordre següent supervisarà la base de dades tecmint.

# mytop --prompt -d tecmint
Password:

Si cadascuna de les vostres bases de dades té un administrador específic (per exemple, un administrador de base de dades tecmint), connecteu-vos amb el nom d'usuari i la contrasenya de la base de dades així.

# mytop -u tecmint -p password_here -d tecmintdb

Tanmateix, això té certes implicacions de seguretat, ja que la contrasenya de l'usuari s'escriu a la línia d'ordres i es pot emmagatzemar al fitxer d'historial de comandes de l'intèrpret d'ordres. Aquest fitxer el pot veure més tard una persona no autoritzada que podria accedir al nom d'usuari i la contrasenya.

Per evitar el risc d'aquest escenari, utilitzeu el fitxer de configuració ~/.mytop per especificar opcions per connectar-vos a la base de dades. Un altre avantatge d'aquest mètode és que també elimineu escriure nombrosos arguments de línia d'ordres cada vegada que voleu executar mytop.

# vi ~/.mytop

A continuació, afegiu-hi les opcions necessàries a continuació.

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

Desa i tanca el fitxer. A continuació, executeu mytop sense cap argument de línia d'ordres.

# mytop

Té la capacitat de mostrar una gran quantitat d'informació a la pantalla i també té moltes opcions de drecera de teclat, consulteu man mytop per obtenir més informació.

# man mytop

  1. Mtop (Monitorització de bases de dades MySQL) a RHEL/CentOS/Fedora
  2. Innotop per supervisar el rendiment de MySQL

En aquest article, hem explicat com instal·lar, configurar i utilitzar mytop a Linux. Si teniu cap pregunta, utilitzeu el formulari de comentaris a continuació per posar-vos en contacte amb nosaltres.