DBAtlas · Veritabanı operasyon atlası

1205: Lock wait timeout exceeded; try restarting transaction

MySQL

Ne demek?

Bir transaction, ihtiyaç duyduğu row lock'u innodb_lock_wait_timeout süresi boyunca bekledi ama alamadı ve zaman aşımına uğradı.

Neden olur?

Lock'u uzun süre tutan, commit ya da rollback edilmeyen başka bir transaction; boşta (idle) kalan açık transaction'lar, uzun süren toplu güncellemeler veya çekişmeli hot row'lar.

Nasıl çözülür?

Engelleyen transaction'ı bulun: performance_schema.data_lock_waits ile data_locks'u birleştirin (eski sürümlerde information_schema.innodb_lock_waits/innodb_trx). Engelleyen transaction'ı commit/rollback edin veya gerekirse KILL <trx_mysql_thread_id> ile sonlandırın. Transaction'ları kısaltın, boşta transaction bırakmayın (autocommit/uygulama mantığı). Gerekirse innodb_lock_wait_timeout değerini iş yüküne göre ayarlayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar