DBAtlas · Atlas für Datenbankbetrieb

1205: Lock wait timeout exceeded; try restarting transaction (Timeout beim Warten auf Sperre; Transaktion neu starten)

MySQL

Was bedeutet das?

Eine Transaktion hat innodb_lock_wait_timeout Sekunden auf eine benötigte Zeilensperre gewartet, sie nicht erhalten und ist in einen Timeout gelaufen.

Ursache

Eine andere Transaktion hält die Sperre lange ohne Commit oder Rollback; inaktive offene Transaktionen, lang laufende Massen-Updates oder umkämpfte Hot Rows.

Lösung

Finde die blockierende Transaktion: Verknüpfe performance_schema.data_lock_waits mit data_locks (in älteren Versionen information_schema.innodb_lock_waits/innodb_trx). Committe die blockierende Transaktion, setze sie zurück oder beende sie bei Bedarf mit KILL <trx_mysql_thread_id>. Halte Transaktionen kurz und lass keine Transaktionen inaktiv offen (autocommit/Anwendungslogik). Passe innodb_lock_wait_timeout bei Bedarf an die Last an.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank