Tuer un processus dans MySQL

Preet Sanghavi 15 février 2024
  1. Lister tous les processus en cours d’exécution dans MySQL
  2. Tuez le processus à l’aide de la commande KILL
Tuer un processus dans MySQL

Dans ce tutoriel, nous allons apprendre à tuer un processus dans MySQL.

Souvent, des processus MySQL spécifiques peuvent prendre trop de temps à s’exécuter.

Cela peut entraîner des problèmes de performances sur le système. Au fil du temps, différents threads et déclarations sont encombrés dans un système qui entrave le fonctionnement global du serveur.

Pour résoudre ce problème et éviter une utilisation élevée des ressources, nous pouvons tuer des processus spécifiques dont l’exécution n’est plus nécessaire.

Pour tuer un processus dans MySQL, nous devons suivre deux étapes simples après vous être connecté à votre compte MySQL :

  • Liste tous les processus en cours d’exécution dans MySQL.
  • Tuez le processus à l’aide de la commande KILL.

Lister tous les processus en cours d’exécution dans MySQL

Avant de tenter de supprimer ou de mettre fin à tout processus en cours, nous devons d’abord identifier le processus id. Une fois que nous avons le processus id, nous pouvons tuer ou terminer un processus.

Nous pouvons obtenir la liste de tous les processus existants dans MySQL en utilisant la commande show processlist. Dès que nous exécutons cette commande, nous obtiendrons les processus en cours pour l’utilisateur connecté.

Voici un aperçu des processus en cours.

lister tous les processus dans mysql

Comme on peut le voir, chaque processus a un processus id, User qui indique le nom d’utilisateur, Host qui indique le serveur hôte, db qui indique la base de données.

Command indique le type de commande en cours d’examen, Time indique la durée d’exécution de la requête, State indique l’état du processus et Info indique toute information pertinente liée au processus.

Tuez le processus à l’aide de la commande KILL

Une fois que nous obtenons le id du processus à tuer, nous pouvons utiliser la commande kill <id> pour terminer le processus.

Visons à tuer le processus avec le numéro id 14. Cette tâche peut être réalisée avec la requête suivante.

KILL 14;

Cela aura le processus id comme 14, tué.

De plus, si nous souhaitons mettre fin à tous les processus associés à un utilisateur particulier, nous pouvons effectuer cette opération à l’aide de la requête suivante.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='preet' INTO OUTFILE '/tmp/processes_text.txt';

Dans la requête ci-dessus, un nouveau fichier avec les threads et les instructions porte le nom de fichier processes_text. Nous pouvons examiner ce fichier pour vérifier si nous voulons mettre fin à tous les processus mentionnés.

Une fois que nous sommes sûrs, nous pouvons utiliser la requête suivante.

source /tmp/processes_text.txt

Par conséquent, à l’aide de la commande KILL, un ou plusieurs processus d’une base de données MySQL peuvent être terminés.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub