Bir komut dosyasından yerel veritabanıma binlerce kez bunun gibi bir sorgu gönderdim:
update some_table set some_column = some_value
Nerede bölümünü eklemeyi unuttum, bu nedenle aynı sütun tablodaki tüm satırlar için aynı değere ayarlandı ve bu binlerce kez yapıldı ve sütun dizine eklendi, bu nedenle ilgili dizin muhtemelen çok fazla kez güncellendi .
Bir şeylerin yanlış olduğunu fark ettim çünkü çok uzun sürdü, bu yüzden senaryoyu öldürdüm. O zamandan beri bilgisayarımı bile yeniden başlattım, ancak tabloda bir şey sıkışmış, çünkü basit sorguların çalışması çok uzun sürüyor ve ilgili dizini bırakmaya çalıştığımda şu mesajla başarısız oluyor:
Lock wait timeout exceeded; try restarting transaction
Bu bir innodb tablosu, bu nedenle takılı kalmış işlem muhtemelen örtüktür. Bu tabloyu nasıl düzeltebilirim ve sıkışan işlemi ondan nasıl kaldırabilirim?
SHOW FULL PROCESSLIST
?