sql >> Database teknologi >  >> RDS >> Mysql

MySQL-tabel er markeret som nedbrudt

MyISAM-tabeller er meget nemme at gå ned. Der er overskriftsoplysninger i hver tabel, der holder styr på, hvor mange åbne filhåndtag en MyISAM-tabel har.

Hvis mysqld går ned, har enhver MyISAM-tabel, der havde åbne filhåndtag, aldrig haft mulighed for at nedsætte antallet af filhåndtag ved lukning af hvert filhåndtag. Således, hvis et nyt filhåndtag åbner en MyISAM-tabel (.MYD-fil), og mysqld opdager et misforhold mellem antallet af filhåndtag, som en MyISAM-tabel mener er åbent, og antallet af filhåndtag, som MyISAM-tabellen faktisk har åbnet, er tabellen. erklæret nedbrudt.

Der er fire(4) metoder til at håndtere dette:

METODE #1:Konfigurer automatisk MyISAM-reparation

Se mit indlæg https://dba.stackexchange.com/a/15079/877 om, hvordan du konfigurerer dette ved en MySQL-genstart (15. marts 2012)

METODE #2 :Brug InnoDB i stedet for MyISAM

InnoDB har crash recovery indbygget i Storage Engines initialisering. Det gør MyISAM ikke

METODE #3:Brug Aria i stedet for MyISAM

Aria er MariaDBs drop-in erstatning for MyISAM. Den har mekanismer til gendannelse af nedbrud for individuelle tabeller.

METODE #4:Dræb ikke -9 på mysqld

Hvis mysqld går ned, bevidst eller ufrivilligt, vil header-info for alle åbne MyISAM-tabeller få dem i en nedbrudt tilstand. Undgå at skulle dræbe mysqld manuelt.




  1. Streng til dato i Oracle med millisekunder

  2. AccountController ved hjælp af MySQL i ASP.NET MVC

  3. Problemer med at oprette forbindelse til mysql-server:ERROR 2003 (HY000)

  4. crawle en html-side ved hjælp af php?