Если вдруг, Вы обнаружите на своём сайте ошибки базы данных MySQL, не спешите восстанавливать “Backup”, попробуйте сначала отремонтировать поврежденную таблицу, используя команду “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).
Для доступа к серверу, я использую программу WinSCP, подключившись, перехожу в нужную мне базу данных и запускаю терминал.
1. Запускаю “Терминал”.
2. Ввожу команду myisamchk -r wp_options.MYI (Вместо “wp_options”, подставьте нужную вам таблицу для восстановления).
3. Нажимаю кнопку “Выполнить”.
Команда находит и исправляет ошибки поврежденной таблицы, если восстановления не произошло повторите, используя команду myisamchk -o. Команда myisamchk имеет множество опций, которые всегда могут пригодится.
Автор: Ruterk
10 июня 2016 г.
Все опции 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.