menyahpepijat tamat masa tunggu kunci melebihi Ralat pada MySQL
Ralat melebihi tamat masa menunggu kunci ialah petunjuk isu sumber dalam MySQL. Ralat ini bermakna pelanggan tidak dapat memperoleh kunci pada sumber dalam tempoh yang ditetapkan.
Ralat ini berkait rapat dengan jadual InnoDB yang menyimpan data dalam format baris. Jadual ini memerlukan kunci semasa sebarang pengubahsuaian, seperti sisipan, pemadaman atau kemas kini.
Salah satu cara untuk menangani isu ini ialah dengan meningkatkan nilai tamat masa menunggu kunci untuk InnoDB dengan mengoptimumkan innodb_lock_wait_timeout pembolehubah. Nilai lalai untuk pembolehubah ini ialah 50 saat. Ia boleh ditetapkan kepada nilai yang lebih tinggi untuk menyediakan lebih banyak masa untuk pemerolehan kunci. Ini boleh dilakukan dalam pelbagai cara:
Tambah baris berikut pada fail konfigurasi /etc/my.cnf anda dan mulakan semula MySQL:
[mysqld] innodb_lock_wait_timeout=120
Laksanakan arahan berikut untuk menetapkan pembolehubah untuk tempoh semasa sesi:
SET GLOBAL innodb_lock_wait_timeout = 120;
Selain itu, adalah penting untuk mengenal pasti jadual dan baris tertentu yang menyebabkan pertikaian kunci. Ini boleh dicapai dengan melaksanakan arahan berikut:
SHOW ENGINE INNODB STATUS\G
Output akan memberikan maklumat tentang jadual dan baris yang dikunci, termasuk ID mereka dan sifat kunci.
Mengoptimumkan aplikasi corak capaian untuk mengurangkan perbalahan kunci juga boleh membantu dalam menyelesaikan isu ini. Ini termasuk meminimumkan bilangan urus niaga serentak yang mengakses data yang sama dan menstruktur pertanyaan untuk mengelakkan kunci yang tidak diperlukan.
Ringkasnya, menyahpepijat ralat "Tamat masa menunggu kunci melebihi" memerlukan pengoptimuman innodb_lock_wait_timeout dan menganalisis jadual dan baris tertentu yang menyebabkan pertikaian kunci. Dengan melaksanakan langkah-langkah yang dicadangkan, anda boleh menyelesaikan ralat ini dan memastikan operasi pangkalan data MySQL anda lancar.
Atas ialah kandungan terperinci Bagaimana untuk Menyahpepijat MySQL 'Tamat masa menunggu kunci melebihi' Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!