4.4. Предотвращение катастроф и восстановление
4.4.5. Синтаксис REPAIR TABLE
REPAIR TABLE tbl_name[,tbl_name...] [QUICK] [EXTENDED] [USE_FRM]
REPAIR TABLE работает только на таблицах типа MyISAM и эквивалентна выполнению на таблице myisamchk -r table_name .
При обыкновенной работе запускать эту команду не приходится, но если случится катастрофа, то с помощью REPAIR TABLE практически наверняка удастся вернуть все данные из таблицы MyISAM . Если таблицы сильно повреждены, то следует постараться выяснить, что послужило этому причиной! Обращайтесь к разделам Раздел A.4.1, «Что делать, если работа MySQL сопровождается постоянными сбоями» и See Раздел 7.1.3, «Проблемы с таблицами MyISAM .».
REPAIR TABLE ремонтирует таблицу, которая, возможно, повреждена. Команда возвращает таблицу со следующими столбцами:
Столбец | Значение |
Table | Имя таблицы |
Op | Всегда "repair" |
Msg_type | Одно из значений status , error , info или warning . |
Msg_text | Само сообщение. |
Заметим, что по каждой ремонтируемой таблице может быть выдано много строк информации. Последняя строка будет представлять Msg_type status и, как правило, должна содержать OK . Если выдается что-либо отличное от OK , то следует попробовать исправить таблицу с помощью myisamchk -o , поскольку в REPAIR TABLE пока реализованы не все опции myisamchk . В скором будущем мы сделаем команду более гибкой.
Если указан QUICK , то MySQL будет пытаться сделать REPAIR только индексного дерева.
Если используется EXTENDED , то MySQL будет создавать индекс строка за строкой вместо создания по одному индексу единоразово с помощью сортировки; такая техника может работать лучше сортировки для ключей фиксированной длины, если речь идет о хорошо сжимаемых ключах типа CHAR большой длины. Это такой же ремонт, как делается с помощью myisamchk --safe-recover .
Что касается MySQL 4.0.2, то тут для REPAIR существует режим USE_FRM . Используйте его, если отсутствует файл .MYI или поврежден его заголовок. В этом режиме MySQL воссоздаст таблицу, используя информацию из файла .frm . Этот вид исправления в myisamchk недоступен.
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|