Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois une erreur « Délai d'attente de verrouillage dépassé » même sans transactions ?

Pourquoi est-ce que je reçois une erreur « Délai d'attente de verrouillage dépassé » même sans transactions ?

Mary-Kate Olsen
Libérer: 2025-01-18 13:07:09
original
180 Les gens l'ont consulté

Why Am I Getting a

Résolution des erreurs « Délai d'attente de verrouillage dépassé » dans MySQL

L'erreur « Délai d'attente de verrouillage dépassé ; essayez de redémarrer la transaction » dans MySQL, même sans utiliser explicitement les transactions, est un problème courant avec plusieurs causes potentielles.

Un coupable fréquent est un verrou de table détenu par un autre processus. Pour identifier les tables verrouillées, utilisez cette commande :

<code class="language-sql">SHOW OPEN TABLES WHERE In_use > 0;</code>
Copier après la connexion

Cette requête révèle les tables actuellement verrouillées. Si votre table cible apparaît, l'étape suivante consiste à trouver le processus responsable en utilisant :

<code class="language-sql">SHOW PROCESSLIST;</code>
Copier après la connexion

Cela affiche les processus actifs. Localisez l'ID de processus (PID) verrouillant votre table et terminez-le avec :

<code class="language-sql">KILL <process_id>;</code>
Copier après la connexion

Un autre scénario implique des transactions implicites. Vérifiez-les en utilisant :

<code class="language-sql">SELECT @@INNODB_TRX_ID;</code>
Copier après la connexion

Un résultat non nul indique une transaction implicite active. Forcer un commit avec :

<code class="language-sql">COMMIT;</code>
Copier après la connexion

En cas d'échec de ces étapes, le redémarrage du serveur MySQL ou l'optimisation de la table peuvent être des solutions nécessaires. L'optimisation des tables peut être réalisée à l'aide de diverses commandes en fonction de votre version et de vos besoins spécifiques de MySQL.

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