Spec-Zone.ru › MariaDB

innochecksum

innochecksum — это инструмент для вывода контрольных сумм для файлов InnoDB.

Использование

innochecksum [options] file_name

Описание

Он считывает файл табличного пространства InnoDB, вычисляет контрольную сумму для каждой страницы, сравнивает вычисленную контрольную сумму сохранённой контрольной суммой и сообщает о несовпадениях, которые указывают на повреждённые страницы. Он был первоначально разработан для ускорения проверки целостности файлов табличного пространства после отключений электропитания, но также может использоваться после копирования файлов. Поскольку несовпадения контрольных сумм приведут к преднамеренному завершению работы сервера InnoDB, использование innochecksum предпочтительнее, чем ожидание, пока сервер в рабочей среде столкнётся с повреждёнными страницами.

Несколько имён файлов могут быть указаны с помощью подстановки, только на системах, отличных от Windows.

innochecksum работает с сжатыми страницами с MariaDB 10.0.16.

MariaDB 10.1.4 добавила опции для анализа страниц листьев, чтобы оценить, насколько фрагментирован индекс и какую выгоду можно получить от дефрагментации.

innochecksum нельзя использовать для файлов табличного пространства, которые сервер уже открыл. Для таких файлов необходимо использовать CHECK TABLE для проверки таблиц в табличном пространстве. Если будут найдены несовпадения контрольных сумм, обычно необходимо восстановить табличное пространство из резервной копии или запустить сервер и попытаться использовать mariadb-dump для создания резервной копии таблиц внутри табличного пространства.

Опции

innochecksum поддерживает следующие опции. Для опций, которые относятся к номерам страниц, числа являются нулево-основанными.

Опция Описание Добавлена
-a, --allow-mismatches=# Максимальное количество разрешённых несовпадений контрольных сумм перед завершением работы innochecksum. По умолчанию 0, что приводит к завершению при первом несовпадении. MariaDB 10.2.2, MariaDB 10.1.26
-c, --count Вывести количество страниц в файле.
-d, --debug Режим отладки; выводит контрольные суммы для каждой страницы, подразумевает --verbose. Заменено на --log в MariaDB 10.1.26
-e num, --end-page=# Закончить на этой странице (нумерация с 0).
-?, --help Отобразить справку и выйти.
-I, --info Синоним для --help.
-f, --leaf Просмотреть страницы индексов листьев. До MariaDB 10.2.4, короткий код был -l, но это было изменено для избежания путаницы с опцией --log. MariaDB 10.1.4
-l fn, --log=fn Записать вывод в указанный файл fn. MariaDB 10.2.2, MariaDB 10.1.26
-m num, --merge=# Количество страниц листьев, если объединено заданное число последовательных страниц. MariaDB 10.1.4
-n, --no-check Игнорировать проверку контрольной суммы. До MariaDB 10.6 необходимо использовать вместе с опцией --write. MariaDB 10.2.2, MariaDB 10.1.26
-p num, --page=# Проверить только этот номер страницы (нумерация с 0).
-D, --page-type-dump=name Вывести информацию о типе страницы для каждой страницы в табличном пространстве. MariaDB 10.2.2, MariaDB 10.1.26
-S, --page-type-summary Вывести количество каждого типа страниц в табличном пространстве. MariaDB 10.2.2, MariaDB 10.1.26
-i, --per-page-details Вывести подробную информацию по каждой странице.
-u, --skip-corrupt Пропустить повреждённые страницы. MariaDB 10.0.16
-s num, --start-page=# Начать с этой страницы (нумерация с 0).
-C, --strict-check=name Указать строгий алгоритм проверки контрольной суммы. Один из: crc32, innodb, none. Если не указано, проверяет по innodb, crc32 и none. См. также innodb_checksum_algorithm. Добавлена MariaDB 10.2.2, MariaDB 10.1.26
Удалена MariaDB 10.6.0
-v, --verbose Подробный режим; выводить индикатор выполнения каждые пять секунд.
-V, --version Вывести информацию о версии и выйти.
-w, --write=name Перезаписать алгоритм контрольной суммы. Один из crc32, innodb, none. В процессе используется эксклюзивный замок. Используйте совместно с опцией -no-check для перезаписи недействительной контрольной суммы. Добавлена MariaDB 10.2.2, MariaDB 10.1.26
Удалена MariaDB 10.6.0

Примеры

Перезапись контрольной суммы crc32 для замены недействительной контрольной суммы:

innochecksum --no-check --write crc32 tablename.ibd

Количество каждого типа страниц:

innochecksum --page-type-summary data/mysql/gtid_slave_pos.ibd

File::data/mysql/gtid_slave_pos.ibd
================PAGE TYPE SUMMARY==============
#PAGE_COUNT	PAGE_TYPE
===============================================
       1	Index page
       0	Undo log page
       1	Inode page
       0	Insert buffer free list page
       2	Freshly allocated page
       1	Insert buffer bitmap
       0	System page
       0	Transaction system page
       1	File Space Header
       0	Extent descriptor page
       0	BLOB page
       0	Compressed BLOB page
       0	Page compressed page
       0	Page compressed encrypted page
       0	Other type of page

===============================================
Additional information:
Undo page type: 0 insert, 0 update, 0 other
Undo page state: 0 active, 0 cached, 0 to_free, 0 to_purge, 0 prepared, 0 other
index_id	#pages		#leaf_pages	#recs_per_page	#bytes_per_page
24		1		1		0		0

index_id	page_data_bytes_histgram(empty,...,oversized)
24		1	0	0	0	0	0	0	0	0	0	0	0
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/innochecksum/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API