„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So beheben Sie den Fehler „Lock Wait Timeout Exceeded“ in MySQL: Entsperren einer hängengebliebenen Tabelle

So beheben Sie den Fehler „Lock Wait Timeout Exceeded“ in MySQL: Entsperren einer hängengebliebenen Tabelle

Veröffentlicht am 16.11.2024
Durchsuche:292

How to Fix \

Entsperren einer „steckengebliebenen“ MySQL-Tabelle: Fehlerbehebung bei „Wartezeitüberschreitung bei Sperre überschritten“

Wenn die Fehlermeldung „Wartezeit bei Sperre überschritten“ auftritt, versuchen Sie einen Neustart Wenn beim Arbeiten mit einer InnoDB-Tabelle in MySQL der Fehler „Transaktion“ auftritt, ist es wahrscheinlich, dass eine Transaktion hängengeblieben ist. So reparieren Sie die Tabelle und lösen die feststeckende Transaktion auf:

1. Identifizieren Sie die blockierte Transaktion:

Führen Sie den folgenden Befehl in der MySQL-Befehlszeilenschnittstelle oder über phpMyAdmin aus:

SHOW PROCESSLIST;

Dadurch wird eine Liste der ausgeführten Transaktionen angezeigt Threads. Suchen Sie nach Threads mit einer langen Ausführungszeit oder solchen, die sich im Ruhezustand befinden. Die entsprechende Thread-ID wird in der Spalte „Id“ angezeigt.

2. Beenden Sie den hängengebliebenen Thread:

Sobald der hängengebliebene Thread identifiziert wurde, beenden Sie ihn mit dem folgenden Befehl in der Befehlszeilenschnittstelle:

KILL ;

Ersetzen Sie durch die ID des hängengebliebenen Threads.

3. Starten Sie die Transaktion neu (optional):

Wenn die Transaktion noch aktiv ist, starten Sie sie neu, um eventuelle Sperren aufzuheben. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

START TRANSACTION;
COMMIT;

4. Löschen Sie den Index (falls zutreffend):

Wenn Sie zuvor versucht haben, einen Index für die betroffene Tabelle zu löschen, und dies aufgrund der Sperre fehlgeschlagen ist, versuchen Sie es erneut, nachdem Sie den hängengebliebenen Thread beendet und die Transaktion neu gestartet haben .

ALTER TABLE  DROP INDEX ;

Durch Befolgen dieser Schritte können Sie die hängengebliebene Tabelle entsperren und den Fehler „Wartezeit für Sperre überschritten“ beheben. Denken Sie daran, die laufenden Threads regelmäßig zu überprüfen, um potenziell hängengebliebene Transaktionen zu identifizieren und zu beenden, um ähnliche Probleme in der Zukunft zu vermeiden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3