Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat 'Tamat Masa Tunggu Kunci Melebihi' Walaupun Tanpa Transaksi?

Mengapa Saya Mendapat Ralat 'Tamat Masa Tunggu Kunci Melebihi' Walaupun Tanpa Transaksi?

Mary-Kate Olsen
Lepaskan: 2025-01-18 13:07:09
asal
230 orang telah melayarinya

Why Am I Getting a

Menyelesaikan Ralat "Lock Wait Timeout Melebihi" dalam MySQL

Menghadapi ralat "Tamat masa menunggu kunci melebihi; cuba mulakan semula transaksi" dalam MySQL, walaupun tanpa menggunakan transaksi secara eksplisit, adalah masalah biasa dengan beberapa punca yang berpotensi.

Salah satu punca yang kerap berlaku ialah kunci meja yang dipegang oleh proses lain. Untuk mengenal pasti jadual terkunci, gunakan arahan ini:

<code class="language-sql">SHOW OPEN TABLES WHERE In_use > 0;</code>
Salin selepas log masuk

Pertanyaan ini mendedahkan jadual yang sedang dikunci. Jika jadual sasaran anda muncul, langkah seterusnya ialah mencari proses yang bertanggungjawab menggunakan:

<code class="language-sql">SHOW PROCESSLIST;</code>
Salin selepas log masuk

Ini memaparkan proses aktif. Cari ID proses (PID) yang mengunci jadual anda dan tamatkannya dengan:

<code class="language-sql">KILL <process_id>;</code>
Salin selepas log masuk

Senario lain melibatkan transaksi tersirat. Semak ini menggunakan:

<code class="language-sql">SELECT @@INNODB_TRX_ID;</code>
Salin selepas log masuk

Hasil bukan sifar menunjukkan transaksi tersirat yang aktif. Paksa komitmen dengan:

<code class="language-sql">COMMIT;</code>
Salin selepas log masuk

Sekiranya langkah ini gagal, memulakan semula pelayan MySQL atau mengoptimumkan jadual mungkin merupakan penyelesaian yang diperlukan. Pengoptimuman jadual boleh dicapai menggunakan pelbagai arahan bergantung pada versi dan keperluan MySQL khusus anda.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tamat Masa Tunggu Kunci Melebihi' Walaupun Tanpa Transaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan