Rumah > Artikel > pangkalan data > Bagaimana untuk Menyelesaikan Ralat \"Lock Wait Timeout Exceeded\" pada Jadual MySQL Beku?
Isu biasa dalam MySQL melibatkan menghadapi ralat "Lock wait timeout exceeded; try restart transaction" semasa cuba mengubah suai atau menjatuhkan indeks pada jadual. Ralat ini biasanya menunjukkan transaksi tersekat dalam jadual, menghalang operasi daripada selesai.
Mendiagnosis Isu
Syak transaksi tersekat apabila jadual bertindak balas dengan sangat perlahan kepada pertanyaan atau apabila menjatuhkan indeks gagal dengan ralat yang disebutkan di atas mesej.
Mengenalpasti Benang Yang Terperangkap
Untuk mengenal pasti benang yang bertanggungjawab terhadap kebuntuan, laksanakan arahan berikut dalam antara muka baris arahan MySQL atau phpMyAdmin:
SHOW PROCESSLIST;
Arahan ini akan memaparkan senarai urutan, termasuk ID dan pelaksanaannya kali.
Menamatkan Benang Terperangkap
Setelah anda mengenal pasti benang yang mengambil masa yang berlebihan, anda boleh menamatkannya menggunakan sama ada arahan KILL dalam antara muka baris arahan atau butang "Bunuh" dalam phpMyAdmin.
Sebagai contoh, untuk mematikan ID thread 115, gunakan:
KILL 115;
Tindakan ini akan menamatkan sambungan untuk utas tertentu itu.
Menyelesaikan Isu
Selepas membunuh benang yang tersekat, anda sepatutnya boleh:
Petua Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"Lock Wait Timeout Exceeded\" pada Jadual MySQL Beku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!