Entsperren einer „steckengebliebenen“ MySQL-Tabelle: Fehlerbehebung bei „Wartezeit für Sperre überschritten“
Wenn Sie auf die Fehlermeldung „Wartezeit für Sperre überschritten“ stoßen, 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 beheben die feststeckende Transaktion:
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 laufenden Threads angezeigt. 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 feststeckenden Thread:
Sobald der feststeckende Thread identifiziert wurde, beenden Sie ihn mit dem folgenden Befehl in der Befehlszeilenschnittstelle:
KILL <thread_id>;
Ersetzen Sie
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 <table_name> DROP INDEX <index_name>;
Indem Sie diese Schritte befolgen, 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 feststeckende Transaktionen zu identifizieren und zu beenden, um ähnliche Probleme in der Zukunft zu vermeiden.
Das obige ist der detaillierte Inhalt vonSo beheben Sie den Fehler „Lock Wait Timeout Exceeded' in MySQL: Entsperren einer hängengebliebenen Tabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!