"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment réparer les erreurs « Délai d'attente de verrouillage dépassé » dans MySQL : débloquer une table bloquée

Comment réparer les erreurs « Délai d'attente de verrouillage dépassé » dans MySQL : débloquer une table bloquée

Publié le 2024-11-16
Parcourir:687

How to Fix \

Déverrouillage d'une table MySQL « bloquée » : dépannage du « délai d'attente de verrouillage dépassé »

Lorsque vous rencontrez le « délai d'attente de verrouillage dépassé ; essayez de redémarrer transaction" lorsque vous travaillez avec une table InnoDB dans MySQL, il est probable qu'une transaction soit restée bloquée. Voici comment réparer la table et résoudre la transaction bloquée :

1. Identifiez la transaction bloquée :

Exécutez la commande suivante dans l'interface de ligne de commande MySQL ou via phpMyAdmin :

SHOW PROCESSLIST;

Cela affichera une liste des transactions en cours d'exécution. fils. Recherchez les threads avec un temps d'exécution long ou ceux qui sont dans un état « Veille ». L'ID du fil de discussion correspondant sera affiché dans la colonne "Id".

2. Terminez le fil bloqué :

Une fois le fil bloqué identifié, terminez-le à l'aide de la commande suivante dans l'interface de ligne de commande :

KILL ;

Remplacez par l'ID du fil de discussion bloqué.

3. Redémarrez la transaction (facultatif) :

Si la transaction est toujours active, redémarrez-la pour libérer les verrous qu'elle pourrait détenir. Vous pouvez le faire en exécutant la commande suivante :

START TRANSACTION;
COMMIT;

4. Supprimez l'index (le cas échéant) :

Si vous avez déjà essayé de supprimer un index sur la table affectée et que cela a échoué en raison du verrou, essayez de le supprimer à nouveau après avoir terminé le thread bloqué et redémarré la transaction. .

ALTER TABLE  DROP INDEX ;

En suivant ces étapes, vous pouvez déverrouiller la table bloquée et résoudre le « Délai d'attente de verrouillage dépassé » erreur. N'oubliez pas de vérifier régulièrement les threads en cours d'exécution pour identifier et mettre fin à toute transaction potentiellement bloquée afin d'éviter des problèmes similaires à l'avenir.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3