<
  • Главная<
Не найдено

Mysql таблица помечена t crash что делать

Опубликовано: 13.10.2016

В других случаях следует делать ремонт таблиц. myisamchk обычно может найти и поправить большая часть проблем.

Процесс ремонтирования включает до 4 обрисованных тут стадий. Перед тем как приступить к ремонту, нужно выполнить `cd' в каталог базы данных и проверить права доступа к табличным файлам. Файлы должны быть доступны для чтения Unix-пользователю, от имени которого производится mysqld, (также выполняющему ремонт, так как ему приходится обращаться к проверяемым файлам). Если появится необходимость изменять файлы, то проверяющий также обязан иметь доступ для записи.

Если употребляется версия MySQL 3.23.16 и выше, то для проверки и ремонта таблиц MyISAM можно (и необходимо) использовать команды CHECK и REPAIR (section 4.4.4 Синтаксис CHECK TABLE и see section 4.4.5 Синтаксис REPAIR TABLE).

Раздел управления, посвященный сопровождению таблиц, содержит функции к isamchk/myisamchk (see section 4.4.6 Использование myisamchk для профилактики таблиц и послеаварийного).

Случаи, когда упомянутые команды не дают результата либо лучше использовать расширенные способности, выставленные в isamchk/myisamchk, рассматриваются в последующем разделе.

Если ремонт таблицы планируется делать из командной строчки то поначалу требуется приостановить сервер. Необходимо подчеркнуть, что при выполнении mysqladmin shutdown с удаленного сервера mysqld все еще будет некое время работать после окончания mysqladmin, пока не будут остановлены все запросы и сброшены на диск все ключи.

Стадия 1: проверка таблиц

Сделайте myisamchk *.MYI либо, если вы располагаете временем, myisamchk -e *.MYI. Используйте опцию -s (неразговорчивый режим) для угнетения ненадобной инфы. нформации.

Если mysqld остановлен, то следует использовать опцию --update-state для указания myisamchk отмечать таблицы как 'испытанные'(checked).

Чинить следует только те таблицы, для которых myisamchk выдала ошибки. Для таких таблиц следует перейти к стадии 2.

Если во время проверки будут получены странноватые ошибки (подобные out of memory), либо myisamchk закончится аварийно, то перейдите к стадии 3.

Стадия 2: легкий неопасный ремонт

Примечание: если есть желание ускорить ремонт, рекомендуется добавить: -O sort_buffer=# -O key_buffer=# (где # приблизительно 1/4 от имеющейся памяти) во всех командах isamchk/myisamchk.

Поначалу нужно испытать запустить myisamchk -r -q tbl_name (-r -q значит "режим резвого восстановления"). При всем этом будет изготовлена попытка поправить индексный файл без конфигурации файла данных. Если в файле данных содержится все нужное, а удаленные связи указывают на правильные позиции в файле данных, то команда должна дать итог и таблица будет исправлена. Перейдите к ремонту последующей таблицы. В неприятном случае следует выполнить последующие деяния:



rss