4.4.6.4 Опции исправления для myisamchk
Следующие опции используются, если myisamchk
запускается с -r
или -o
:
-
-D # или --data-file-length=#
Максимальная длина файла данных (когда файл данных пересоздается при его
``переполнении'').
-
-e или --extend-check
Пробовать исправлять каждую возможную строку из файла данных. Обычно при
этом обнаруживается масса замусоренных строк. Использовать эту опцию
следует только в самом крайнем случае, когда больше ничего не остается.
-
-f или --force
Писать поверх старых временных файлов (`table_name.TMD') вместо аварийного
прекращения.
-
-k # или keys-used=#
Если используется
ISAM
, то данный параметр предписывает обработчику таблиц
ISAM
на необходимость обновить только первые #
индексов. Если используется
MyISAM
, то определяет, какие ключи использовать, при этом каждый двоичный
бит соответствует одному ключу (первый ключ - это бит 0). Может
использоваться для ускорения вставок! Отключенные индексы можно снова
активизировать с помощью myisamchk -r. keys
.
-
-l или --no-symlinks
Не рассматривать символические ссылки. Обычно
myisamchk
исправляет
таблицы, на которые указывают символические ссылки. Данная опция
отсутствует в MySQL 4.0, в связи с тем, что MySQL 4.0 не удаляет
символические ссылки во время восстановления.
-
-r или --recover
При указании этой опции можно исправить практически все, кроме уникальных ключей, в которых есть повторения (ошибка, вероятность которой мизерна для таблиц
ISAM
/MyISAM
). Если необходимо восстановить таблицу, то начинать надо с этой опции. Только если myisamchk
сообщит, что таблица не может быть восстановлена с помощью -r
, тогда следует пытаться применять -o
(отметим, что в тех маловероятных случаях, когда -r
не срабатывает, файл
данных остается неизменным), В случае большого объема памяти следует
увеличить размер sort_buffer_size
!
-o или --safe-recover
-
Используется старый метод восстановления (читаются подряд все строки и
обновляются все деревья индексов на основе найденных строк); такой
алгоритм работает на порядок медленнее
-r
, но метод справляется с
несколькими редкими случаями, непосильными для -r
. При этом методе
восстановления также используется значительно меньше дискового
пространства, нежели в случае -r
. Обычно всегда следует начинать с
исправления посредством -r
, и только если результат не будет достигнут,
использовать -o
. Для систем с большим объемом памяти следует увеличить
размер key_buffer_size
!
-n или --sort-recover
-
Заставляет
myisamchk
использовать сортировку при разрешении ключей, даже
если это потребует временных файлов очень большого размера.
--character-sets-dir=...
-
Каталог, где хранятся кодировки.
--set-character-set=name
-
Изменить используемую для индекса кодировку
-t или --tmpdir=path
-
Путь для хранения временных файлов. Если не задан,
myisamchk
использует
для пути переменную окружения TMPDIR
.
-q или --quick
-
Быстрый ремонт без изменения файла данных. Можно добавить вторую
-q
,
чтобы дать myisamchk
санкцию на изменение исходного файла данных в случае
дублирования ключей
-u или --unpack
-
Распаковать файл, упакованный в
myisampack
.
Add your own comment.