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

Comment identifier la transaction coupable à l'origine de « l'attente du verrouillage des métadonnées de table » dans MySQL ?

Linda Hamilton
Libérer: 2024-10-30 17:23:25
original
887 Les gens l'ont consulté

How to Identify the Culprit Transaction Causing

Enquête sur la source du message "En attente du verrouillage des métadonnées de la table"

Dans MySQL, rencontre d'un message "En attente du verrouillage des métadonnées de la table" pendant DDL les requêtes peuvent être frustrantes. Cet état indique souvent qu'une autre transaction détient un verrou sur la table affectée, empêchant la transaction en cours de se poursuivre.

Identifier la transaction coupable

Pour identifier quelle transaction est responsable de cette retenue, pensez à utiliser les approches suivantes :

1. MySQL v5.5.24 et versions antérieures

Pour les versions MySQL antérieures à 5.7.3, exécutez la commande suivante :

SHOW ENGINE INNODB STATUS \G
Copier après la connexion

Inspectez la section "TRANSACTIONS" pour identifier la transaction incriminée.

2. Tableaux de schéma d'information

Tous les verrous en attente :

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
Copier après la connexion

Transactions bloquantes :

SELECT *
FROM INFORMATION_SCHEMA.INNODB_LOCKS
WHERE LOCK_TRX_ID IN (SELECT BLOCKING_TRX_ID FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS);
Copier après la connexion

Verrous sur une table spécifique :

SELECT *
FROM INFORMATION_SCHEMA.INNODB_LOCKS
WHERE LOCK_TABLE = db_name.table_name;
Copier après la connexion

Transactions en attente de verrous :

SELECT TRX_ID, TRX_MYSQL_THREAD_ID, TRX_QUERY
FROM INFORMATION_SCHEMA.INNODB_TRX
WHERE TRX_STATE = 'LOCK WAIT';
Copier après la connexion

Référence supplémentaire :

Pour un guide complet sur la résolution de ce problème, reportez-vous à « Dépannage MySQL : que faire lorsque les requêtes ne fonctionnent pas », chapitre 6, page 96.

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!

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
Derniers articles par auteur
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!