Heim > Datenbank > MySQL-Tutorial > Wie kann das Problem behoben werden, dass das Sperrwartezeitlimit überschritten wurde, wenn eine MySQL-Tabelle feststeckt?

Wie kann das Problem behoben werden, dass das Sperrwartezeitlimit überschritten wurde, wenn eine MySQL-Tabelle feststeckt?

DDD
Freigeben: 2024-11-25 03:04:11
Original
194 Leute haben es durchsucht

How to Resolve

Behebung von „Wartezeitüberschreitung beim Sperren“ für eine blockierte MySQL-Tabelle

Kürzlich ist ein Problem aufgetreten, bei dem die Ausführung eines SQL-Updates ohne WHERE-Klausel dazu führte in einem erweiterten Tischschloss. Dies führte zu dem Fehler „Wartezeit für Sperre überschritten; versuchen Sie, die Transaktion neu zu starten“, während versucht wurde, einen betroffenen Index zu löschen.

Um dieser Situation zu begegnen, wird empfohlen, alle hängengebliebenen Transaktionen zu identifizieren und zu beenden. Dies kann erreicht werden, indem die laufenden Threads mit dem Befehl SHOW PROCESSLIST in der MySQL-Befehlszeilenschnittstelle untersucht werden.

Feststeckende Threads finden und beenden

  1. Stellen Sie eine Verbindung zum her MySQL-Datenbank über die Befehlszeilenschnittstelle.
  2. Führen Sie Folgendes aus Befehl:

    SHOW PROCESSLIST;
    Nach dem Login kopieren
  3. Dadurch wird eine Liste der aktuell ausgeführten Threads mit ihren IDs und Ausführungszeiten angezeigt.
  4. Identifizieren Sie die Threads, die zu lange ausgeführt wurden.
  5. Um einen hängengebliebenen Thread zu beenden, führen Sie den KILL-Befehl gefolgt von seiner ID aus, wie gezeigt unten:

    KILL <thread ID>;
    Nach dem Login kopieren

Beispiel

Um beispielsweise einen Thread mit der ID 115 zu beenden, verwenden Sie den folgenden Befehl:

KILL 115;
Nach dem Login kopieren

Sobald die hängengebliebenen Threads beendet wurden, sollte die Tabelle entsperrt werden und der Indexlöschvorgang kann normal fortgesetzt werden.

Das obige ist der detaillierte Inhalt vonWie kann das Problem behoben werden, dass das Sperrwartezeitlimit überschritten wurde, wenn eine MySQL-Tabelle feststeckt?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage