Памылка табліцы дадзеных 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

Спадзяюся, артыкул «Рашэнне памылкі табліцы MySQL «пазначана як збітая і апошні (аўтаматычны?)» рамонт», апублікаваны ў блогу Чэня Вэйляна ( https://www.chenweiliang.com/ ), будзе вам карысным.

Не саромейцеся падзяліцца спасылкай на гэты артыкул: https://www.chenweiliang.com/cwl-176.html

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

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

Пракрутка да пачатку