introduction
Mytop est un outil gratuit sur console pour surveiller les performances de MySQL. Il est similaire à l'utilitaire "top", mais il affiche les requêtes MySQL. Avec mytop, vous pouvez surveiller instantanément la disponibilité de MySQL, les threads, les requêtes, les comportements des utilisateurs et d'autres informations d'état en temps réel, ce qui peut être utile pour l'optimisation des performances de MySQL.
Dans ce tutoriel, je vais vous montrer comment installer, configurer et utiliser mytop sur un serveur Vultr nouvellement créé basé sur l'application LEMP en un clic.
Conditions préalables
Avant de continuer, vous devez:
-
Déployez une instance de serveur avec l'application LEMP en un clic.
-
Connectez-vous en tant qu'utilisateur non root avec les privilèges sudo. Vous pouvez trouver comment créer un utilisateur non root dans cet article .
Première étape: installer mytop à l'aide du référentiel EPEL yum
Avec l'aide du référentiel yum EPEL (Extra Packages for Enterprise Linux), vous pouvez facilement installer mytop sur votre serveur. Par défaut, le référentiel EPEL yum a été installé lors de l'utilisation de l'application LEMP en un clic.
Vous pouvez confirmer l'existence du référentiel EPEL avec:
sudo yum repolist
Vous verrez le epel Extra Packages for Enterprise Linux 6 - x86_64
référentiel répertorié.
Pour empêcher les packages du référentiel EPEL d'être mis à jour ou remplacés par des packages d'autres référentiels, vous devez installer le plugin "protectbase":
sudo yum install yum-plugin-protectbase.noarch -y
Modifiez ensuite le fichier /etc/yum.repos.d/epel.repo
, saisissez:
cd /etc/yum.repos.d
sudo vi epel.repo
Ajoutez une ligne protect=1
à la section [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
Enregistrez et fermez le fichier.
Enfin, installez mytop avec:
sudo yum install mytop -y
Pour simplifier l'utilisation de mytop, vous pouvez créer un fichier de configuration personnalisé nommé /root/.mytop
. Lorsque vous exécutez mytop en tant qu'utilisateur root ou non root avec les privilèges sudo, le programme invoque automatiquement ce fichier de configuration. Si vous souhaitez l'exécuter en tant qu'utilisateur non root sans privilèges sudo, vous devez placer le fichier de configuration dans le répertoire de base de l'utilisateur non root.
Pour votre référence, voici un exemple du fichier de configuration /root/.mytop
:
user=root
pass=
host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
Le contenu de ce fichier fournit des arguments par défaut au programme mytop, réduisant votre saisie manuelle lors de son utilisation. Cependant, si vous exécutez le programme avec des arguments saisis manuellement, les arguments de la ligne de commande remplaceront les arguments correspondants dans le fichier de configuration.
Vous pouvez modifier ces arguments selon vos conditions spécifiques. Certaines des significations des arguments sont énumérées ci-dessous:
- utilisateur: nom d'utilisateur de la base de données.
- pass: mot de passe de l'utilisateur de la base de données. Pour des raisons de sécurité, vous pouvez le laisser vide et saisir le mot de passe manuellement.
- hôte: l'adresse d'hôte de la base de données.
- db: le nom de la base de données.
- délai: affiche l'intervalle de rafraîchissement en secondes.
Des explications complètes pour chaque argument peuvent être trouvées dans la page de manuel:
man mytop
Comme mentionné précédemment, l'utilitaire mytop utilise à la fois des arguments dans le fichier de configuration et des arguments de ligne de commande, et ces derniers remplaceront les premiers en conséquence.
Ainsi, avec un fichier de configuration en ordre, il vous suffit de saisir la commande avec quelques arguments.
Par exemple, si vous souhaitez saisir votre mot de passe avec une invite pour une meilleure sécurité, vous pouvez saisir:
sudo mytop --prompt
/root/.my.cnf
Saisissez ensuite le mot de passe de la base de données par défaut et de la racine utilisateur, qui se trouvent dans , pour accéder à l'interface du programme mytop.
Voici un autre exemple. Si vous souhaitez surveiller une base de données spécifique, vous pouvez utiliser:
sudo mytop -d yourdatabasename --prompt
Remplacez-le yourdatabasename
par le vôtre.
Dans l'interface du programme mytop, vous trouverez quelque chose comme:
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
Il s'agit de la vue de fil par défaut de mytop, vous pouvez toujours passer à cette vue en appuyant sur t .
Les quatre premières lignes constituent l'en-tête qui peut être activé ou désactivé en appuyant sur Maj + h . L'en-tête contient des informations générales sur votre serveur MySQL.
Sous l'en-tête, vous pouvez voir les données d'état des threads MySQL actuels.
Pour obtenir de l'aide, appuyez sur ? ( Maj + / ) lorsque le programme est en cours d'exécution.
Pour quitter le programme, appuyez sur q .
Plus de détails sur l'affichage et l'utilisation de mytop peuvent être trouvés dans sa page de manuel:
man mytop
C'est ça. Vous pouvez utiliser les données recueillies à partir de mytop pour implémenter une optimisation MySQL éclairée.