Ralat 1036: Jadual ialah Penyelesaian 'Baca Sahaja'
Apabila cuba untuk melaksanakan pertanyaan kemas kini pada jadual dan menghadapi "1036 - Jadual data adalah ralat baca sahaja", jelas menunjukkan bahawa jadual berada dalam keadaan terhad. Untuk membetulkan isu ini, ikuti langkah yang digariskan di bawah:
1. Periksa Konfigurasi MySQL:
Semak fail konfigurasi MySQL (/etc/my.cnf atau /etc/mysql/my.cnf) untuk tetapan berikut:
innodb_force_recovery
Jika parameter ini ditetapkan kepada 1, ia memaksa pangkalan data untuk beroperasi dalam mod baca sahaja. Ulas atau alih keluar tetapan ini untuk mendayakan operasi tulis.
2. Semak Atribut Jadual:
Pastikan kebenaran fail jadual pada sistem fail pelayan bukan baca sahaja. Atribut jadual hendaklah ditetapkan kepada 777 (kebenaran penuh) untuk kedua-dua pengguna dan kumpulan yang memiliki fail.
3. Optimumkan dan Baiki Jadual:
Cuba gunakan perintah OPTIMIZE TABLE untuk menuntut semula ruang yang tidak digunakan dan meningkatkan prestasi. Selain itu, jalankan arahan REPAIR TABLE untuk menyemak ralat dan membaiki sebarang ketidakkonsistenan.
4. Semak Tetapan Pemulihan InnoDB:
Dalam kes di mana langkah sebelumnya tidak menyelesaikan isu, semak tetapan pemulihan InnoDB dalam pangkalan data MySQL. Jalankan pertanyaan berikut:
SHOW INNODB STATUS\G
Cari baris yang bermula dengan innodb_use_sys_read_only_table. Jika nilai ini ditetapkan kepada 1, ia menunjukkan bahawa jadual sedang dipaksa ke mod baca sahaja. Tetapkannya kepada 0 untuk melumpuhkan sekatan ini.
5. Mulakan semula MySQL:
Selepas membuat perubahan yang diperlukan, mulakan semula perkhidmatan MySQL untuk kemas kini berkuat kuasa.
Atas ialah kandungan terperinci Mengapa Jadual MySQL Saya Baca Sahaja dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!