Heim > Datenbank > MySQL-Tutorial > Wie kann das Problem „Wartezeitüberschreitung beim Sperren überschritten; versuchen Sie, die Transaktion neu zu starten' für eine „steckengebliebene' MySQL-Tabelle behoben werden?

Wie kann das Problem „Wartezeitüberschreitung beim Sperren überschritten; versuchen Sie, die Transaktion neu zu starten' für eine „steckengebliebene' MySQL-Tabelle behoben werden?

Barbara Streisand
Freigeben: 2024-11-16 08:04:03
Original
773 Leute haben es durchsucht

How to Fix

Behebung von „Wartezeitüberschreitung beim Sperren; versuchen Sie, die Transaktion neu zu starten“ für eine „stecken gebliebene“ MySQL-Tabelle

Eine MySQL-Tabelle kann „stecken bleiben“ aus verschiedenen Gründen, z. B. lang andauernden Abfragen oder nicht festgeschriebenen Transaktionen. Eine häufig damit verbundene Fehlermeldung lautet „Wartezeit für Sperre überschritten; versuchen Sie, die Transaktion neu zu starten.“

Dieses Problem kann auftreten, wenn eine Abfrage ohne eine richtige WHERE-Klausel ausgeführt wird, was zu wiederholten Aktualisierungen derselben Spalte für alle führt Zeilen in der Tabelle. Darüber hinaus können häufige Indexaktualisierungen das Problem verschlimmern.

Um dieses Problem zu beheben und die Tabelle freizugeben, müssen die blockierten Transaktionen identifiziert und beendet werden. Folgende Schritte können durchgeführt werden:

  1. Laufende Threads prüfen:

Verwenden Sie die SHOW PROCESSLIST; Befehl zum Auflisten aller laufenden Threads in der MySQL-Befehlszeilenschnittstelle oder phpMyAdmin. Identifizieren Sie alle Threads mit deutlich langen Ausführungszeiten.

  1. Steckplätze beenden:

Für Threads mit übermäßig langen Ausführungszeiten verwenden Sie den Befehl KILL gefolgt von die entsprechende Thread-ID. Dadurch wird die Verbindung für diesen Thread beendet. In phpMyAdmin gibt es einen praktischen „Kill“-Button, der zu diesem Zweck verwendet werden kann.

  1. Beispiel:

Thread 115 aus töten Geben Sie in der Befehlszeile Folgendes ein:

KILL 115;
Nach dem Login kopieren

Dadurch wird die feststeckende Transaktion beendet und die Tabelle entsperrt, sodass normale Vorgänge möglich sind Lebenslauf.

Das obige ist der detaillierte Inhalt vonWie kann das Problem „Wartezeitüberschreitung beim Sperren überschritten; versuchen Sie, die Transaktion neu zu starten' für eine „steckengebliebene' MySQL-Tabelle behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage