Director articol
Eroarea tabelului MySQL este marcată ca fiind blocată și ultima (automată?) - soluție.
Acest articol vă va prezenta sfaturile noastre atunci când reparați masaError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedsoluţie.
Există o problemă cu tabelul MySQL , așa cum este indicat de următorul mesaj: ▼
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
mysql_upgrade execută următoarele comenzi pentru a verifica și repara tabelele și pentru a actualiza tabelele de sistem ▼
mysqlcheck --all-databases --check-upgrade --auto-repair
- Eșecul operațiunii este ireversibil și baza de date trebuie oprită:
service monit stop
service mysqld stop
- Introduceți directorul în care se află baza de date:
cd /var/lib/mysql/db_name/
Notă: Serviciul mysql trebuie oprit înainte ca operațiunea să fie reparată.
- Reparați o singură fișă de date:
myisamchk -r tablename.MYI
- Remediați toate fișele de date:
myisamchk -r *.MYI
- Modul sigur:
myisamchk -r -v -o <table_name>
- Modul forțare:
myisamchk -r -v -f <table_name>
utilizarea myisamchk
Notă: Înainte de a utiliza myisamchk, asigurați-vă că mysqld nu accesează tabelul care urmează să fie verificat.Mai bine opriți mysqld.
- implementa
myisamchk –update-state -s *.myi
, și verificați ce fișiere index au probleme (poate dura mult timp).
- Opțiunea update-state este folosită numai atunci când se oprește mysqld.-s înseamnă să ignorați unele informații normale de listare a tabelelor și numai erorile de listă.
- Pentru fiecare tabel corupt, încercați
myisamchk -r -q table_name
Acesta este modul de reparare rapidă, care va verifica automat dacă tabelul de index și tabelul de date pot fi consecvenți.Dacă este consecvent, poate fi remediat.
- Dacă modul de remediere rapidă eșuează, luați în considerare:
myisamchk -r table_name
Datele și indecșii inconsecvenți sunt șterse, iar indecșii sunt reconstruiți.
- Dacă acest lucru nu reușește, luați în considerare:
myisamchk –safe-recover table_name
Exemplu de operare
Eșecul operațiunii este ireversibil și baza de date trebuie oprită:
service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_ufo
cd /var/lib/mysql/eloha_cwl
Remediați toate fișele de date:
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
Acest lucru este mult mai lent decât -r, dar gestionează situațiile pe care -r nu poate.
myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
Iată comanda pentru calea completă către tabelul bazei de date:
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI
Porniți baza de date MYSQLD:
service mysqld start
service mysqld restart
Porniți programul de monitorizare MONIT :
service monit restart
service monit start
Sperăm că articolul „Soluție la eroarea tabelului MySQL 'marcat ca fiind blocat și ultima reparare (automată?)'” distribuit pe blogul lui Chen Weiliang ( https://www.chenweiliang.com/ ) vă va fi de ajutor.
Nu ezitați să distribuiți linkul acestui articol: https://www.chenweiliang.com/cwl-176.html
