Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tabel MySQL ditandai sebagai macet

Tabel MyISAM sangat mudah rusak. Ada info header di setiap tabel yang melacak berapa banyak file terbuka yang menangani tabel MyISAM.

Jika mysqld mogok, tabel MyISAM apa pun yang memiliki pegangan file terbuka tidak pernah memiliki kesempatan untuk mengurangi jumlah pegangan file pada setiap penutupan pegangan file. Jadi, jika pegangan file baru membuka tabel MyISAM (file .MYD) dan mysqld menemukan ketidakcocokan antara jumlah pegangan file yang diyakini tabel MyISAM terbuka dan jumlah pegangan file yang sebenarnya telah dibuka oleh tabel MyISAM, tabelnya adalah dinyatakan macet.

Ada empat (4) metode untuk menangani ini:

METODE #1 :Siapkan perbaikan MyISAM otomatis

Lihat postingan saya https://dba.stackexchange.com/a/15079/877 tentang cara mengatur ini setelah MySQL restart (15 Mar 2012)

METODE #2 :Gunakan InnoDB sebagai ganti MyISAM

InnoDB memiliki pemulihan kerusakan yang terpasang pada inisialisasi Storage Engine. MyISAM tidak

METODE #3 :Gunakan Aria daripada MyISAM

Aria adalah pengganti MariaDB untuk MyISAM. Ini menampilkan mekanisme pemulihan kerusakan untuk tabel individual.

METODE #4 :Jangan bunuh -9 di mysqld

Jika mysqld crash, sengaja atau tidak sengaja, info header untuk semua tabel MyISAM yang terbuka akan membuatnya menjadi crash. Hindari keharusan membunuh mysqld secara manual.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kelompokkan hanya baris yang berdekatan

  2. MySQL tidak menghasilkan hasil yang benar menggunakan parameter tanggal ODBC

  3. Tidak dapat terhubung ke server MySQL lokal melalui soket '/tmp/mysql.sock' (2)

  4. Rentang Integer SQL Saat Membuat Tabel

  5. Masalah MYSQL INSERT SELECT