Maison >base de données >tutoriel mysql >Comment résoudre l'erreur « Délai d'attente de verrouillage dépassé » sur une table MySQL gelée ?

Comment résoudre l'erreur « Délai d'attente de verrouillage dépassé » sur une table MySQL gelée ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-17 08:25:04950parcourir

How to Resolve the

Dépannage de l'erreur « Délai d'attente de verrouillage dépassé » sur une table MySQL gelée

Un problème courant dans MySQL implique la rencontre de l'erreur « Délai d'attente de verrouillage dépassé ; essayez de redémarrer la transaction » en essayant de modifier ou de supprimer un index sur une table. Cette erreur indique généralement une transaction bloquée dans la table, empêchant l'exécution des opérations.

Diagnostic du problème

Suspectez une transaction bloquée lorsqu'une table répond exceptionnellement lentement aux requêtes ou lorsque la suppression d'un index échoue avec le message d'erreur susmentionné.

Identification du fil bloqué

Pour identifier le thread responsable du blocage, exécutez la commande suivante dans MySQL interface de ligne de commande ou phpMyAdmin :

SHOW PROCESSLIST;

Cette commande affichera une liste de threads, y compris leurs identifiants et leurs heures d'exécution.

Terminer le fil bloqué

Une fois que vous avez identifié le thread qui prend trop de temps, vous pouvez y mettre fin en utilisant soit la commande KILL dans l'interface de ligne de commande, soit le bouton "Kill" dans phpMyAdmin.

Par exemple, pour tuer le thread ID 115, utilisez :

KILL 115;

Cette action mettra fin à la connexion pour ce fil de discussion spécifique.

Résoudre le problème

Après avoir tué le bloqué fil de discussion, vous devriez être capable de :

  • Supprimer l'index avec succès
  • Exécuter des requêtes avec des temps de réponse normaux

Conseils supplémentaires

  • Incluez toujours la clause WHERE dans vos instructions UPDATE pour éviter de modifier involontairement toutes les lignes.
  • Surveillez les performances de MySQL et ajustez les paramètres si nécessaire pour éviter de tels problèmes à l'avenir.

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!

Déclaration:
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