Каталог статей
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.
- реалізувати
myisamchk –update-state -s *.myi
, і перевірте, які файли індексу мають проблеми (може зайняти багато часу).
- Параметр update-state використовується лише під час зупинки mysqld. -s означає ігнорувати деяку звичайну інформацію в таблиці та лише перераховувати помилки.
- Для кожної пошкодженої таблиці спробуйте
myisamchk -r -q table_name
Це режим швидкого відновлення, який автоматично перевіряє, чи таблиця індексів і таблиця даних можуть бути узгодженими.Якщо він послідовний, це можна виправити.
- Якщо режим швидкого виправлення не працює, розгляньте:
myisamchk -r table_name
Неузгоджені дані та індекси видаляються, а індекси будуються заново.
- Якщо це не вдається, розгляньте:
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-каналу!
Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!