Как починить таблицу в базе данных MySQL

Если вдруг, Вы обнаружите на своём сайте ошибки базы данных MySQL, не спешите восстанавливать “Backup”, попробуйте сначала отремонтировать поврежденную таблицу, используя команду “myisamchk”.

mysql-myisamchkКак правило при получении следующих ошибок (ниже), удачное восстановление гарантировано в 99% случаев.

  • `tbl_***.frm’ is locked against change
  • Can’t find file `tbl_***.MYI’ (Errcode: ***)
  • Unexpected end of file
  • Record file is crashed
  • Got error *** from table handler

Вы спросите, как узнать повреждена таблица базы данных или это что-то другое?

Запустите phpMyAdmin, выберите из списка (если у вас их несколько) нужную вам базу данных и посмотрите структуру таблицы. Поврежденная запись в таблице базы данных сразу выделяется, а при попытке просмотра структуры конкретной записи, показывает ошибку.

Определившись с именем (wp_options) поврежденной таблицы, запускаем на сервере терминал, затем переходим в папку, где MySQL хранит свои файлы, путь по умолчанию: /var/lib/mysql и нужная вам база данных (aawru).

WP-ispravlenie-bazy-dannyhДля доступа к серверу, я использую программу WinSCP, подключившись, перехожу в нужную мне базу данных и запускаю терминал.

1. Запускаю “Терминал”.

2. Ввожу команду myisamchk -r wp_options.MYI (Вместо “wp_options”, подставьте нужную вам таблицу для восстановления).

3. Нажимаю кнопку “Выполнить”.

Команда находит и исправляет ошибки поврежденной таблицы, если восстановления не произошло повторите, используя команду myisamchk -o. Команда myisamchk имеет множество опций, которые всегда могут пригодится.

Автор: Ruterk
10 июня 2016 г.

Все опции myisamchk

Все опции myisamchk

Для того чтобы получить дополнительную информацию по команде, стоит использовать помощь:

# myisamchk —help

Общие опции:

-s: только вывод ошибок;
-v: вывод большего количества информации;
-V: вывод версии и выход;
-w: ждать, если таблица заблокирована.

Опции проверки:

-c: проверка таблиц на ошибки;
-е: очень «грубая» проверка. Стоит использовать только в крайнем случае, если в обычном режиме ошибки не обнаруживаются;
-F: быстрая проверка, проверяются только таблицы, которые не закрывались правильно;
-С: проверка только таблиц, которые изменились со времени последней поверки;
-f: автоматический перезапуск myisamchk с опцией -r, есть обнаружены ошибки;
-i: вывод статистики по проверенным таблицам;
-m: облегченный режим проверки, быстрее, чем обычный, находится 99,99% ошибок;
-U: обновление статуса: пометка таблиц как поврежденных, если обнаруживаются любые ошибки;
-T: не помечать таблицы как проверенные.

Опции исправления:

-B: бэкап файла .MYD, «filename-time.BAK»;
—correct-checksum;
-е: попытка исправления максимального числа строк в файле данных. Кроме того, эта команда находит «мусорные» строки. Не стоит использовать эту команду, если ситуация не безнадежна;
-f: перезапись старых временных файлов;
-r: исправляет почти все, кроме уникальных ключей, которые на самом деле не уникальны;
-n: принудительная сортировка, даже, если временный файл получается очень большим;
-о: использование старого метода восстановления;
-q: быстрое исправление без модификации файла данных;
-u: распаковка файла, запакованного myisampack.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*