Помилка таблиці даних mysqld позначена як збій та останнє (автоматичне?) рішення для відновлення

MySQLd помилка таблиці даних позначена як аварійна та остання (автоматична?) повторair рішення

Ця стаття познайомить вас з нашими порадами при ремонті столу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

СтартМонітор МОНІТ:

service monit restart
service monit start

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) «Помилка таблиці даних mysqld позначена як аварійна та останнє (автоматичне?) рішення для відновлення», якою ви поділилися, буде корисною для вас.

Ласкаво просимо поділитися посиланням на цю статтю:https://www.chenweiliang.com/cwl-176.html

Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!

Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!

 

发表 评论

Ваша електронна адреса не буде опублікована. 必填 项 已 用 * Етикетка

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