File definisi tabel (tabel) "tbl_name.frm" "tbl_name. MYD " File Data "tbl_name. File indeks MYI" Masing-masing dari 3 jenis file ini dapat mengalami berbagai bentuk korupsi, tetapi masalahnya paling sering terjadi pada file data dan file indeks. myisamchk menciptakan ". MYD" (data) untuk bekerja, ini bekerja dengan menghapus ". MYD dan ganti nama file baru ke nama file asli untuk mengakhiri fase perbaikan. Jika Anda menggunakan --cepat, myisamchk tidak membuat ". MYD", hanya berasumsi". MYD" benar dan hanya membuat file indeks baru, tanpa menyentuh". MYD", yang aman karena myisamchk secara otomatis mendeteksi". MYD" rusak dan dalam hal ini, tinggalkan perbaikan. Anda juga dapat memberikan myisamchk dua --opsi cepat. Dalam hal ini, myisamchk tidak menyerah pada beberapa kesalahan (seperti tombol berulang), melainkan mencoba memodifikasi ". MYD" untuk menyelesaikannya. Biasanya, ini hanya berguna jika Anda menerapkan perbaikan normal pada ruang disk kosong yang terlalu sedikit, menggunakan dua opsi --cepat. Dalam hal ini, Anda setidaknya harus membuat cadangan sebelum menjalankan myisamchk. 1. Cara memeriksa kesalahan dalam tabel Untuk memeriksa tabel, gunakan perintah berikut: myisamchk tbl_name Ini menangkap 99,99% dari semua kesalahan. Apa yang tidak dapat diketahui adalah bahwa korupsi hanya terlibat dalam file data (yang jarang terjadi). Jika Anda ingin memeriksa tabel, Anda biasanya harus menjalankan myisamchk tanpa opsi atau menggunakan salah satu opsi -s atau --silent. myisamchk -e tbl_name Ini melakukan pemeriksaan data yang benar-benar menyeluruh (-e berarti "pemeriksaan diperpanjang"). Ini melakukan pemeriksaan pembacaan per tombol pada setiap baris untuk mengonfirmasi bahwa mereka menunjuk ke garis yang benar. Ini bisa memakan waktu lama di atas meja besar dengan banyak kunci. myisamchk biasanya akan berhenti setelah menemukan kesalahan pertama. Jika Anda menginginkan informasi lebih lanjut, Anda dapat menambahkan opsi --verbose(-v). Hal ini membuat myisamchk berlanjut hingga maksimal 20 kesalahan. Dalam penggunaan umum, myisamchk sederhana (tanpa argumen selain nama tabel) sudah cukup. myisamchk -e -i tbl_name Seperti perintah sebelumnya, tetapi opsi -i memberi tahu myisamchk untuk mencetak beberapa statistik juga. 2. Cara memperbaiki meja Gejala tabel yang rusak biasanya berupa jeda kueri yang tidak terduga, dan Anda dapat melihat, misalnya, kesalahan ini: "tbl_name.frm" terkunci dan tidak dapat diubah. Tidak dapat menemukan file "tbl_name. MYI"(Kesalahan :### )。 Dapatkan kesalahan ### dari prosesor tabel (dalam hal ini, kesalahan 135 adalah pengecualian). File berakhir yang tidak terduga. File catatan dihancurkan. Dalam kasus ini, Anda harus memperbaiki tabel. Myisamchk biasanya mendeteksi dan memperbaiki sebagian besar hal yang salah. Proses perbaikan terdiri dari hingga 4 tahap, dijelaskan di bawah ini. Sebelum Anda mulai, Anda harus cd izin ke direktori database dan file daftar periksa untuk memastikan mereka dapat dibaca oleh pengguna Unix yang menjalankan mysqld (dan Anda, karena Anda memerlukan akses ke file yang Anda periksa). Jika menolak untuk memodifikasi file, mereka juga harus dapat ditulis untuk Anda. Fase 1: Periksa tabel Anda Lari myisamchk *. MYI atau (myisamchk -e *. MYI, jika Anda punya lebih banyak waktu). Gunakan opsi -s (keheningan) untuk menonaktifkan informasi yang tidak perlu.
Format file yang digunakan oleh MySQL untuk menyimpan data telah diuji secara ekstensif, tetapi selalu ada kondisi eksternal yang dapat menyebabkan tabel database rusak: Proses mySQLLD dimatikan dalam satu tulisan; Komputer mati yang tidak terduga (misalnya, jika komputer kehilangan daya); Kesalahan perangkat keras. Bab ini menjelaskan cara memeriksa dan menangani kerusakan data dalam database MySQL. Jika meja Anda banyak rusak, Anda harus mencoba mencari tahu alasannya! Lihat G.1 Men-debug server MySQL. Saat melakukan pemulihan crash, penting untuk dipahami bahwa setiap tabel dalam tbl_name database sesuai dengan 3 file di direktori database |