Résolution du « Délai d'attente de verrouillage dépassé » pour une table MySQL bloquée
Un problème récent est survenu à cause de l'exécution d'une mise à jour SQL sans clause WHERE. dans un verrou de table étendu. Cela a entraîné une erreur « Délai d'attente de verrouillage dépassé ; essayez de redémarrer la transaction » lors de la tentative de suppression d'un index affecté.
Pour résoudre cette situation, il est recommandé d'identifier et de mettre fin à toute transaction bloquée. Ceci peut être réalisé en examinant les threads en cours d'exécution à l'aide de la commande SHOW PROCESSLIST dans l'interface de ligne de commande MySQL.
Trouver et éliminer les threads bloqués
Exécutez ce qui suit commande :
SHOW PROCESSLIST;
Pour mettre fin à un fil bloqué, exécutez la commande KILL suivie de son ID, comme indiqué ci-dessous :
KILL <thread ID>;
Exemple
Par exemple, pour terminer le fil de discussion avec l'ID 115, utilisez la commande suivante :
KILL 115;
Une fois les threads bloqués terminés, la table doit être déverrouillée et l'opération de suppression d'index peut se dérouler normalement.
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!