6.6.4.3 myisamchk Параметры восстановления
myisamchk поддерживает следующие параметры для операций по восстановлению таблиц (операции выполняются, когда задан параметр, такой как --recover или --safe-recover):
-
--backup,-BФормат командной строки --backupСоздать резервную копию файла
.MYDкакfile_name-time.BAK -
Формат командной строки --character-sets-dir=pathТип Строка Значение по умолчанию [none]Каталог, в котором установлены наборы символов. См. Раздел 12.15, «Настройка наборов символов».
-
Формат командной строки --correct-checksumИсправить информацию о контрольной сумме таблицы.
-
--data-file-length=,len-DlenФормат командной строки --data-file-length=lenТип Числовое Максимальная длина файла данных (при повторном создании файла данных, когда он “полный”).
-
--extend-check,-eФормат командной строки --extend-checkВыполнить восстановление, которое пытается восстановить каждую возможную строку из файла данных. Обычно это также находит много мусорных строк. Не используйте этот параметр, если вы не в отчаянии.
См. также описание этого параметра в параметрах проверки таблиц.
Для описания формата вывода см. Раздел 6.6.4.5, «Получение информации о таблице с помощью myisamchk».
-
--force,-fФормат командной строки --forceПерезаписать старые промежуточные файлы (файлы с именами, например,
) вместо прерывания.tbl_name.TMD -
--keys-used=,val-kvalФормат командной строки --keys-used=valТип Числовое Для myisamchk значение параметра — битовое значение, указывающее, какие индексы нужно обновить. Каждый двоичный бит значения параметра соответствует индексу таблицы, где первый индекс — бит 0. Значение параметра 0 отключает обновления всех индексов, что может использоваться для ускорения вставок. Отключенные индексы можно снова включить, используя myisamchk -r.
-
Формат командной строки --max-record-length=lenТип Числовое Пропустить строки, длина которых больше заданной, если myisamchk не может выделить память для их хранения.
-
--quick,-qФормат командной строки --quickДобиться более быстрого восстановления, изменяя только файл индекса, а не файл данных. Вы можете указать этот параметр дважды, чтобы принудительно заставить myisamchk изменить исходный файл данных в случае дублирующих ключей.
-
--recover,-rФормат командной строки --recoverВыполнить восстановление, которое может исправить почти любую проблему, кроме уникальных ключей, которые не являются уникальными (что является крайне маловероятной ошибкой в таблицах
MyISAM). Если вы хотите восстановить таблицу, это тот параметр, с которого следует начать. Вы должны попробовать--safe-recoverтолько в том случае, если myisamchk сообщает, что таблицу невозможно восстановить с помощью--recover. (В маловероятном случае, если--recoverзавершится неудачно, файл данных останется нетронутым.)При наличии большого объема памяти следует увеличить значение
myisam_sort_buffer_size. -
--safe-recover,-oФормат командной строки --safe-recoverВыполнить восстановление с помощью старого метода восстановления, который считывает все строки в порядке и обновляет все деревья индексов на основе найденных строк. Это в разы медленнее, чем
--recover, но может обрабатывать несколько очень маловероятных случаев, с которыми--recoverне справится. Этот метод восстановления также использует значительно меньше дискового пространства, чем--recover. Обычно следует сначала выполнить восстановление с помощью--recover, а затем с--safe-recoverтолько в том случае, если--recoverзавершится неудачно.При наличии большого объема памяти следует увеличить значение
key_buffer_size. -
Формат командной строки --set-collation=nameТип Строка Укажите сортировку для сортировки индексов таблицы. Имя набора символов подразумевается первой частью имени сортировки.
-
--sort-recover,-nФормат командной строки --sort-recoverПринудительно заставить myisamchk использовать сортировку для решения ключей, даже если временные файлы будут очень большими.
-
--tmpdir=,dir_name-tdir_nameФормат командной строки --tmpdir=dir_nameТип Имя каталога Путь к каталогу для хранения временных файлов. Если это не задано, myisamchk использует значение переменной окружения
TMPDIR.--tmpdirможет быть задано в виде списка путей к каталогам, которые используются по очереди в режиме циклического перебора для создания временных файлов. Разделителем между именами каталогов является двоеточие (:) в Unix и точка с запятой (;) в Windows.
-
--unpack,-uФормат командной строки --unpackРаспаковать таблицу, которая была упакована с помощью myisampack.
© 2025 Oracle
Licensed under the GPLv2 License.