mysqld datatabelfejl er markeret som nedbrudt og sidste (automatisk?) reparationsløsning

MySQL- tabelfejl er markeret som nedbrudt og sidst (automatisk?) - løsning.

Denne artikel vil introducere dig til vores tips, når du reparerer bordetError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedløsning.

Der er et problem med MySQL- tabellen, som angivet i følgende meddelelse: ▼

Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed

mysql_upgrade udfører følgende kommandoer for at kontrollere og reparere tabeller og opgradere systemtabeller ▼

mysqlcheck --all-databases --check-upgrade --auto-repair
  • Fejlen i operationen er irreversibel, og databasen skal stoppes:
    service monit stop
    service mysqld stop
  • Indtast den mappe, hvor databasen er placeret:
    cd /var/lib/mysql/db_name/

Bemærk: Mysql-tjenesten skal stoppes, før handlingen repareres.

  • Reparer enkelt datablad:
    myisamchk -r tablename.MYI
  • Ret alle datablade:
    myisamchk -r *.MYI
  • Sikker tilstand:
    myisamchk -r -v -o <table_name>
  • Force mode:
    myisamchk -r -v -f <table_name>

myisamchk brug

Bemærk: Før du bruger myisamchk, skal du sikre dig, at mysqld ikke har adgang til tabellen, der skal kontrolleres.Hellere stoppe mysqld.

  1. udført
    myisamchk –update-state -s *.myi

    , og tjek hvilke indeksfiler der har problemer (kan tage lang tid).

  2. Opdateringstilstandsindstillingen bruges kun, når du stopper mysqld.-s betyder at ignorere nogle normale tabeloplysninger og kun liste fejl.
  3. For hver beskadiget tabel, prøv
    myisamchk -r -q table_name

    Dette er den hurtige reparationstilstand, som automatisk kontrollerer, om indekstabellen og datatabellen kan være konsistente.Hvis det er konsekvent, kan det rettes.

  4. Hvis quick fix-tilstand mislykkes, skal du overveje:
    myisamchk -r table_name

    Inkonsistente data og indekser slettes, og indekser genopbygges.

  5. Hvis det mislykkes, så overvej:
    myisamchk –safe-recover table_name

Driftseksempel

Fejlen i operationen er irreversibel, og databasen skal stoppes:

service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_ufo
cd /var/lib/mysql/eloha_cwl

Ret alle datablade:

myisamchk -r *.MYI
myisamchk -r -v -f wp_postmeta.MYI
myisamchk -r -v -f wp_posts.MYI
myisamchk -r -v -f wp_options.MYI
myisamchk -r -v -f wp_itsec_log

Dette er meget langsommere end -r, men håndterer situationer, som -r ikke kan.

myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI

Her er kommandoen til den fulde sti til databasetabellen:

myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI

Start MYSQLD-databasen:

service mysqld start
service mysqld restart

Start MONIT-overvågningsprogrammet :

service monit restart
service monit start

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Rul til top