4.6.3.3 Параметры восстановления myisamchk
myisamchk поддерживает следующие параметры для операций по восстановлению таблиц (операции выполняются, когда задан параметр, такой как --recover или --safe-recover):
-
--backup,-BКомандная строка --backupСоздать резервную копию файла
.MYDкакfile_name-time.BAK -
Командная строка --character-sets-dir=pathТип Строка Значение по умолчанию [none]Каталог, в котором установлены наборы символов. См. Раздел 10.15, «Настройка набора символов».
-
Командная строка --correct-checksumИсправить информацию о контрольной сумме таблицы.
-
--data-file-length=,len-DlenКомандная строка --data-file-length=lenТип Числовое Максимальная длина файла данных (при повторном создании файла данных, когда он “полный”).
-
--extend-check,-eКомандная строка --extend-checkПровести ремонт, который пытается восстановить каждую возможную строку из файла данных. Обычно при этом также обнаруживается много мусорных строк. Не используйте этот параметр, если вы не в отчаянии.
См. также описание этого параметра в разделе параметров проверки таблицы.
Описание формата вывода см. в разделе 4.6.3.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 не может выделить память для их хранения.
-
Командная строка --parallel-recoverПримечаниеЭтот параметр устарел в MySQL 5.7.38 и удален в MySQL 5.7.39.
Используйте ту же технику, что и
-rи-n, но создавайте все ключи параллельно, используя разные потоки. Это код бета-качества. Используйте на свой страх и риск! -
--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Принудительно использовать сортировку для разрешения ключей, даже если временные файлы будут очень большими.
-
--tmpdir=,dir_name-tdir_nameФормат командной строки --tmpdir=dir_nameТип Имя каталога Путь к каталогу, который будет использоваться для хранения временных файлов. Если этот параметр не задан, myisamchk использует значение переменной среды
TMPDIR.--tmpdirможет быть установлено в список путей к каталогам, которые используются последовательно по принципу круговой очереди для создания временных файлов. Разделителем между именами каталогов является двоеточие (:) в Unix и точка с запятой (;) в Windows. -
--unpack,-uФормат командной строки --unpackРаспаковать таблицу, которая была сжата с помощью myisampack.
© 2025 Oracle
Licensed under the GPLv2 License.