mysqld өгөгдлийн хүснэгтийн алдаа нь эвдэрсэн, сүүлчийн (автомат?) засварын шийдэл гэж тэмдэглэгдсэн

MySQL хүснэгтийн алдаа гацсан бөгөөд сүүлийн (автомат?) гэж тэмдэглэгдсэн байна - шийдэл.

Энэ нийтлэл нь ширээ засахдаа бидний зөвлөмжийг танд танилцуулах болноError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedшийдэл.

Дараах мессежээр харуулсны дагуу MySQL хүснэгтэд асуудал байна: ▼

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

mysql_upgrade нь хүснэгтүүдийг шалгах, засах, системийн хүснэгтүүдийг шинэчлэхийн тулд дараах тушаалуудыг гүйцэтгэдэг ▼

mysqlcheck --all-databases --check-upgrade --auto-repair
  • Үйл ажиллагааны бүтэлгүйтэл нь эргэлт буцалтгүй бөгөөд мэдээллийн санг зогсоох шаардлагатай.
    service monit stop
    service mysqld stop
  • Өгөгдлийн сан байрладаг лавлахыг оруулна уу:
    cd /var/lib/mysql/db_name/

Жич: Үйлдлийг засахаас өмнө mysql үйлчилгээг зогсоох шаардлагатай.

  • Нэг мэдээллийн хуудсыг засах:
    myisamchk -r tablename.MYI
  • Бүх мэдээллийн хуудсыг засах:
    myisamchk -r *.MYI
  • Аюулгүйн горим:
    myisamchk -r -v -o <table_name>
  • Хүчлэх горим:
    myisamchk -r -v -f <table_name>

myisamchk хэрэглээ

Тайлбар: Myisamchk-г ашиглахын өмнө mysqld шалгах хүснэгтэд хандахгүй байгаа эсэхийг шалгаарай.Mysqld-г зогсоосон нь дээр.

  1. хэрэгжүүлсэн
    myisamchk –update-state -s *.myi

    , мөн аль индекс файлд асуудал байгаа эсэхийг шалгана уу (удаан байж магадгүй).

  2. Update-state сонголт нь зөвхөн mysqld-г зогсоох үед ашиглагддаг. -s хүснэгтийн жагсаалтын зарим ердийн мэдээллийг үл тоомсорлож, зөвхөн алдааг жагсаах гэсэн үг юм.
  3. Гэмтсэн хүснэгт бүрийн хувьд оролдоно уу
    myisamchk -r -q table_name

    Энэ бол индексийн хүснэгт болон өгөгдлийн хүснэгт хоорондоо нийцэж байгаа эсэхийг автоматаар шалгах хурдан засварын горим юм.Хэрэв энэ нь тогтвортой байвал үүнийг засах боломжтой.

  4. Хэрэв хурдан засах горим амжилтгүй болбол:
    myisamchk -r table_name

    Тохиромжгүй өгөгдөл, индексүүдийг устгаж, индексүүдийг дахин бүтээдэг.

  5. Хэрэв энэ нь амжилтгүй болбол:
    myisamchk –safe-recover table_name

Үйлдлийн жишээ

Үйл ажиллагааны бүтэлгүйтэл нь эргэлт буцалтгүй бөгөөд мэдээллийн санг зогсоох шаардлагатай.

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

Бүх мэдээллийн хуудсыг засах:

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

Энэ нь -r-ээс хамаагүй удаан боловч -r-ийн боломжгүй нөхцөл байдлыг зохицуулдаг.

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

Өгөгдлийн сангийн хүснэгтийн бүрэн замыг зааж өгөх тушаал энд байна:

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

MYSQLD мэдээллийн санг эхлүүлэх:

service mysqld start
service mysqld restart

MONIT хяналтын хөтөлбөрийг эхлүүлнэ үү :

service monit restart
service monit start

Чен Вэйлиангийн блог ( https://www.chenweiliang.com/ ) дээр хуваалцсан "MySQL хүснэгтийн алдааны шийдэл 'гацсан бөгөөд сүүлийн (автомат?)' засвар гэж тэмдэглэгдсэн" нийтлэл танд тус болно гэж найдаж байна.

Энэ нийтлэлийн холбоосыг хуваалцахаас бүү эргэлзээрэй: https://www.chenweiliang.com/cwl-176.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

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

TOP хүртэл гүйлгэж