Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyelesaikan Ralat \"Lock Wait Timeout Exceeded\" pada Jadual MySQL Beku?

Bagaimana untuk Menyelesaikan Ralat \"Lock Wait Timeout Exceeded\" pada Jadual MySQL Beku?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-17 08:25:04888semak imbas

How to Resolve the

Menyelesaikan masalah "Lock Wait Timeout Exeeded" 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:

  • Berjaya menjatuhkan indeks
  • Laksanakan pertanyaan dengan masa respons biasa

Petua Tambahan

  • Sentiasa sertakan klausa WHERE dalam kenyataan UPDATE anda untuk mengelakkan mengubah suai semua baris secara tidak sengaja.
  • Pantau prestasi MySQL dan laraskan tetapan sebagai diperlukan untuk mengelakkan isu sedemikian pada masa hadapan.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn