mysqld veri tablosu hatası kilitlendi ve son (otomatik?) onarım çözümü olarak işaretlendi

MySQL tablo hatası çökmüş olarak işaretlendi ve son (otomatik?) çözüm.

Bu makale, masayı tamir ederken size ipuçlarımızı tanıtacaktır.Error: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedçözüm.

Aşağıdaki mesajda belirtildiği gibi MySQL tablosunda bir sorun var: ▼

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

mysql_upgrade, tabloları kontrol etmek ve onarmak ve sistem tablolarını yükseltmek için aşağıdaki komutları yürütür ▼

mysqlcheck --all-databases --check-upgrade --auto-repair
  • İşlemin başarısızlığı geri döndürülemez ve veritabanı durdurulmalıdır:
    service monit stop
    service mysqld stop
  • Veritabanının bulunduğu dizini girin:
    cd /var/lib/mysql/db_name/

Not: İşlem onarılmadan önce mysql hizmeti durdurulmalıdır.

  • Tek veri sayfasını onarın:
    myisamchk -r tablename.MYI
  • Tüm veri sayfalarını düzeltin:
    myisamchk -r *.MYI
  • Güvenli mod:
    myisamchk -r -v -o <table_name>
  • Zorlama modu:
    myisamchk -r -v -f <table_name>

myisamchk kullanımı

Not: myisamchk'i kullanmadan önce, mysqld'nin kontrol edilecek tabloya erişmediğinden emin olun.mysqld'i durdursan iyi olur.

  1. gerçekleştirillen
    myisamchk –update-state -s *.myi

    ve hangi dizin dosyalarında sorun olduğunu kontrol edin (uzun zaman alabilir).

  2. Güncelleme durumu seçeneği yalnızca mysqld durdurulurken kullanılır. -s, bazı normal tablo listeleme bilgilerini yok saymak ve yalnızca hataları listelemek anlamına gelir.
  3. Her bozuk tablo için deneyin
    myisamchk -r -q table_name

    Bu, dizin tablosunun ve veri tablosunun tutarlı olup olmadığını otomatik olarak kontrol edecek olan hızlı onarım modudur.Tutarlıysa düzeltilebilir.

  4. Hızlı düzeltme modu başarısız olursa şunları göz önünde bulundurun:
    myisamchk -r table_name

    Tutarsız veriler ve dizinler silinir ve dizinler yeniden oluşturulur.

  5. Bu başarısız olursa, şunları göz önünde bulundurun:
    myisamchk –safe-recover table_name

İşlem örneği

İşlemin başarısızlığı geri döndürülemez ve veritabanı durdurulmalıdır:

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

Tüm veri sayfalarını düzeltin:

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

Bu, -r'den çok daha yavaştır, ancak -r'nin yapamayacağı durumları ele alır.

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

Veritabanı tablosunun tam yolunun komutu:

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

MYSQLD veritabanını başlatın:

service mysqld start
service mysqld restart

MONIT izleme programını başlatın :

service monit restart
service monit start

发表 评论

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

En gidin