Comment afficher les processus MySQL en cours d'exécution

Comment Afficher Les Processus Mysql En Cours D Execution



Il est possible d'avoir un cas où de nombreux threads s'exécutent sur votre serveur MySQL. Parmi ces threads, ceux qui sont inactifs peuvent provoquer une erreur sur votre serveur MySQL, sauf si vous pouvez afficher les processus en cours d'exécution et tuer ceux dont vous n'avez actuellement pas besoin.

MySQL est un SGBD relationnel qui offre diverses options aux utilisateurs pour répertorier les processus en cours d'exécution. Nous expliquerons comment afficher les processus MySQL en cours d'exécution.







Identification des processus MySQL

Lorsque vous avez une base de données MySQL sur votre serveur, vous devrez peut-être parfois vérifier son état pour vérifier la quantité de charge dont elle dispose. Lorsque vous remarquez des retards ou des problèmes avec diverses requêtes sur votre base de données MySQL, cela signale que vous pouvez avoir des threads excessifs et inactifs.



Par conséquent, comprendre quels threads causent des problèmes et comment vous pouvez minimiser la charge est pratique. Avec MySQL, vous pouvez utiliser différentes options pour analyser les processus en cours d'exécution. Nous discuterons de deux options qui aideront à montrer les processus MySQL.



Méthode 1 : via la commande Show Processlist

Lorsque vous accédez à MySQL sur la ligne de commande, vous pouvez utiliser la commande SHOW PROCESSLIST pour afficher les informations concernant tous les processus en cours d'exécution sur votre serveur MySQL. Lorsqu'il est exécuté, il donne au serveur un instantané des différentes connexions et de leurs informations telles que l'état, l'heure, etc.





Voici la commande à exécuter :

AFFICHER LA LISTE DE PROCESSUS ;

Notez les différentes colonnes de la sortie. Discutons brièvement de chacun :



  1. Identifiant – Il affiche l'ID de processus du processus en cours d'exécution. Dans le cas de nombreux processus en cours d'exécution, chacun a son ID unique.
  2. Utilisateur – Il représente l'utilisateur associé au thread particulier.
  3. Héberger – Il montre l'hôte auquel le client particulier est connecté. Il s'agit du nom d'hôte du client spécifique qui a émis l'instruction.
  4. BD – Si une base de données pour un thread particulier est sélectionnée, elle apparaît sous la colonne DB. S'il affiche NULL, aucune base de données n'est sélectionnée.
  5. Commande – Il montre la commande en cours d'exécution par le thread.
  6. Temps – Pour le thread particulier, cette colonne indique combien de temps le thread est dans son état actuel.
  7. État - Il montre dans quel état ou événement le thread est engagé.
  8. Info - Il montre quelle instruction le thread est en train d'exécuter.

Dans ce cas, la sortie précédente est le résultat que nous obtenons de notre commande SHOW PROCESSLIST. Le résultat est affiché sous forme de tableau. Supposons que vous souhaitiez afficher les mêmes résultats mais de manière verticale. Vous pouvez utiliser la commande suivante à la place :

AFFICHER LA LISTE DE PROCESSUS\G ;

Incluez éventuellement [FULL] dans la commande pour vous assurer de ne manquer aucun processus en cours d'exécution.

Méthode 2 : via l'option INFORMATION_SCHEMA.PROCESSLIST

MySQL a la table INFORMATION_SCHEMA.PROCESSLIST qui contient une liste de toutes les connexions actives qui vont à son serveur. En accédant à cette table, vous obtenez les détails de toutes ces connexions actives pour connaître leur hôte, ID de processus, état, commande, etc. qui sont similaires à ce que vous obtenez avec la commande SHOW PROCESSLIST.

Voici la commande à exécuter :

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST ;

Une fois que vous avez exécuté la commande, vous obtenez une sortie similaire à celle ci-dessous qui affiche tous les détails des processus en cours d'exécution de MySQL :

Comment tuer les processus en cours d'exécution de MySQL

Supposons que vous ayez un problème avec les processus en cours d'exécution. Vous pouvez tuer tout processus inactif pour réduire le temps de chargement de votre serveur et améliorer l'efficacité. La première tâche consiste à identifier l'ID du thread particulier. Nous avons donné deux méthodes pour trouver l'ID de n'importe quel thread.

Une fois que vous avez l'ID, vous pouvez exécuter la commande 'kill' avec la syntaxe suivante :

KILL  ;

Une fois que vous avez exécuté la commande, vous obtiendrez une sortie de réussite indiquant la ligne affectée et la requête se déconnectera du serveur. C'est ainsi que vous tuez un processus MySQL.

Conclusion

MySQL propose deux méthodes que vous pouvez utiliser pour afficher les processus en cours d'exécution. Nous avons discuté des deux options, en donnant la syntaxe et un exemple de commande, pour vous aider à comprendre MySQL SHOW PROCESSLIST. Pourtant, nous avons vu comment vous pouvez tuer un processus en cours d'exécution. J'espère que vous comprenez maintenant comment fonctionne MySQL SHOW PROCESSLIST.