7.6 Техническое обслуживание таблиц MyISAM и восстановление после сбоя
В этом разделе описывается, как использовать утилиту myisamchk для проверки или восстановления таблиц (таблицы, которые имеют файлы MyISAM и .MYD для хранения данных и индексов). Для общего понимания myisamchk, см. Раздел 4.6.3, «myisamchk — Утилита технического обслуживания таблиц MyISAM». Другую информацию о восстановлении таблиц можно найти в Разделе 2.10.12, «Перестройка или восстановление таблиц или индексов».
Вы можете использовать myisamchk для проверки, восстановления или оптимизации баз данных. В следующих разделах описывается, как выполнить эти операции и как настроить расписание технического обслуживания таблиц. Сведения о получении информации о ваших таблицах с помощью myisamchk см. в Разделе 4.6.3.5, «Получение информации о таблице с помощью myisamchk».
Несмотря на то, что восстановление таблиц с помощью myisamchk достаточно безопасно, всегда рекомендуется делать резервную копию перед выполнением восстановления или любой операции технического обслуживания, которая может внести много изменений в таблицу.
myisamchk операции, влияющие на индексы, могут привести к MyISAM FULLTEXT индексов, которые будут перестроены с параметрами полнотекстового поиска, несовместимыми со значениями, используемыми сервером MySQL. Чтобы избежать этой проблемы, следуйте инструкциям в Разделе 4.6.3.1, «Общие параметры myisamchk».
MyISAM техническое обслуживание таблиц также может быть выполнено с помощью операторов SQL, выполняющих операции, аналогичные тем, что может выполнять myisamchk:
Для проверки
MyISAMтаблиц используйтеCHECK TABLE.Для восстановления
MyISAMтаблиц используйтеREPAIR TABLE.Для оптимизации
MyISAMтаблиц используйтеOPTIMIZE TABLE.Для анализа
MyISAMтаблиц используйтеANALYZE TABLE.
Дополнительную информацию об этих операторах см. в Разделе 13.7.2, «Операторы технического обслуживания таблиц».
Эти операторы могут использоваться непосредственно или с помощью программы-клиента mysqlcheck. Преимущество этих операторов перед myisamchk заключается в том, что все вычисления выполняет сервер. При использовании myisamchk необходимо убедиться, что сервер не использует таблицы одновременно, чтобы избежать нежелательного взаимодействия между myisamchk и сервером.
© 2025 Oracle
Licensed under the GPLv2 License.