Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée sur l'utilisation de la commande kill pour résoudre le problème de blocage dans Mysql

黄舟
Libérer: 2017-06-18 10:45:06
original
2193 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur Mysql utilisant la commande kill pour résoudre le problème de blocage (tuer une instruction SQL en cours d'exécution. Les amis dans le besoin peuvent se référer à

lors de l'exécution de certains). déclarations utilisant mysql dans , un blocage se produira en raison de la grande quantité de données, qui n'est pas reflétée. À ce stade, vous devez supprimer une instruction de requête qui consomme des ressources. Le format de syntaxe de la commande KILL est le suivant :


KILL [CONNECTION | QUERY] thread_id
Copier après la connexion

Chaque connexion à mysqld en cours d'exécution. dans un thread séparé, vous pouvez utiliser l'instruction SHOW PROCESSLIST pour voir quels threads sont en cours d'exécution et utiliser l'instruction KILL thread_id pour terminer un thread.

KILL autorise les modificateurs facultatifs CONNECTION ou QUERY : KILL CONNECTION est le même que KILL sans modificateurs : il termine la connexion associée au thread_id donné. KILL QUERY termine l'instruction en cours d'exécution sur la connexion, mais laisse la connexion intacte.

Si vous disposez de l'autorisation PROCESS, vous pouvez afficher tous les fils de discussion. Si vous disposez des privilèges de super-administrateur, vous pouvez mettre fin à tous les threads et instructions. Sinon, vous pouvez uniquement afficher et mettre fin à vos propres fils de discussion et déclarations. Vous pouvez également utiliser les commandes mysqladmin processlist et mysqladmin kill pour vérifier et tuer les threads.

Connectez-vous d'abord à MySQL, puis utilisez : show processlist; pour afficher le statut de chaque thread dans le mysql actuel.


mysql> show processlist; 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
| Id  | User | Host         | db       | Command | Time | State   | Info 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
| 7028 | root | ucap-devgroup:53396 | platform    | Sleep  | 19553 |      | NULL  
| 8352 | root | ucap-devgroup:54794 | platform    | Sleep  | 4245 |      | NULL 
| 8353 | root | ucap-devgroup:54795 | platform    | Sleep  |   3 |      | NULL 
| 8358 | root | ucap-devgroup:62605 | platform    | query  | 4156 | updating | update t_shop set |
Copier après la connexion

Ce ci-dessus montre la liste des instructions SQL en cours d'exécution. Trouvez l'identifiant correspondant à l'instruction qui consomme le plus de ressources.

Ensuite. exécutez la commande kill, le format de commande est le suivant :


kill id; 
- 示例: 
kill 8358
Copier après la connexion

Tuez-le simplement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!