Spec-Zone.ru › MariaDB

mariadb-check

MariaDB начиная с 10.4.6

Начиная с MariaDB 10.4.6, mariadb-check является символической ссылкой на mysqlcheck, инструмент для проверки, ремонта, анализа и оптимизации таблиц.

MariaDB начиная с 10.5.2

Начиная с MariaDB 10.5.2, mariadb-check — это имя инструмента, при этом mysqlcheck — символическая ссылка.

mariadb-check — это утилита обслуживания, которая позволяет проверять, восстанавливать, анализировать и оптимизировать несколько таблиц из командной строки.

По сути, это командная строка к командам CHECK TABLE, REPAIR TABLE, ANALYZE TABLE и OPTIMIZE TABLE, и, в отличие от myisamchk и aria_chk, требует, чтобы сервер был запущен.

Этот инструмент не работает с разделяемыми таблицами.

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

./client/mariadb-check [OPTIONS] database [tables]

ИЛИ

./client/mariadb-check [OPTIONS] --databases DB1 [DB2 DB3...]

ИЛИ

./client/mariadb-check [OPTIONS] --all-databases

mariadb-check можно использовать для проверки (-c, -m, -C), восстановления (-r), анализа (-a) или оптимизации (-o) таблиц. Некоторые из опций (например, -e или -q) можно использовать одновременно. Не все опции поддерживаются всеми движками хранения.

Опции -c, -r, -a и -o взаимоисключают друг друга.

Опция --check будет использоваться по умолчанию, если не указаны другие опции. Можно изменить поведение по умолчанию, создав символическую ссылку на исполняемый файл или скопировав его куда-нибудь под другим именем, варианты:

mysqlrepair По умолчанию будет -r (--repair)
mysqlanalyze По умолчанию будет -a (--analyze)
mysqloptimize По умолчанию будет -o (--optimize)

Опции

mariadb-check поддерживает следующие опции:

Опция Описание
-A, --all-databases Проверить все базы данных. Это то же самое, что --databases со всеми выбранными базами данных.
-1, --all-in-1 Вместо выдачи одного запроса для каждой таблицы использовать один запрос на базу данных, перечислив все таблицы в базе данных через запятую.
-a, --analyze Проанализировать указанные таблицы.
--auto-repair Если проверенная таблица повреждена, автоматически исправить её. Восстановление будет выполнено после проверки всех таблиц.
--character-sets-dir=name Директория, в которой установлены файлы наборов символов набора символов.
-c, --check Проверить таблицу на ошибки.
-C, --check-only-changed Проверить только таблицы, которые изменились с момента последней проверки или не были закрыты должным образом.
-g, --check-upgrade Проверить таблицы на изменения, зависящие от версии. Может быть использован с --auto-repair, чтобы исправить таблицы, требующие обновлений, зависящих от версии. Автоматически включает опции --fix-db-names и --fix-table-names. Используется при обновлении.
--compress Сжать всю информацию, передаваемую между клиентом и сервером, если обе стороны поддерживают сжатие.
-B, --databases Проверить несколько баз данных. Обратите внимание, что обычно mariadb-check обрабатывает первый аргумент как имя базы данных, а последующие аргументы как имена таблиц. С этой опцией имена таблиц не задаются, а все имена аргументов рассматриваются как имена баз данных.
-# , --debug[=name] Вывести журнал отладки. Часто это 'd:t:o,имя_файла'.
--debug-check Проверить использование памяти и открытых файлов при выходе.
--debug-info Вывести некоторые данные отладки при выходе.
--default-auth=plugin Использовать плагин для аутентификации клиента по умолчанию.
--default-character-set=name Установить набор символов по умолчанию набора символов.
-e, --extended Если вы используете эту опцию с --check, она гарантирует, что таблица будет на 100 процентов согласованной, но займет много времени. Если вы используете эту опцию с --repair, она принудительно использует старый, медленный метод восстановления с кэш-памятью ключей вместо гораздо более быстрого восстановления путем сортировки.
-F, --fast Проверить только таблицы, которые не были закрыты должным образом.
--fix-db-names Преобразовать имена баз данных в формат, используемый с MySQL 5.1. Только имена баз данных, содержащие специальные символы, подвергаются влиянию. Используется при обновлении с более старой версии MySQL.
--fix-table-names Преобразовать имена таблиц (включая представления) в формат, используемый с MySQL 5.1. Только имена таблиц, содержащие специальные символы, подвергаются влиянию. Используется при обновлении с более старой версии MySQL.
--flush Очищать каждую таблицу после проверки. Это полезно, если вы не хотите, чтобы проверенные таблицы занимали место в кэше после проверки.
-f, --force Продолжать даже при возникновении ошибки SQL.
-?, --help Показать это сообщение справки и выйти.
-h name, --host=name Подключиться к указанному хосту.
-m, --medium-check Быстрее, чем extended-check, но находит только 99,99% всех ошибок. Должно быть достаточно для большинства случаев.
-o, --optimize Оптимизировать таблицы.
-p, --password[=name] Пароль для подключения к серверу. Если вы используете короткий вариант опции (-p), не должно быть пробела между опцией и паролем. Если вы опустите значение пароля после опции --password или -p в командной строке, mariadb-check запросит его. Указание пароля в командной строке следует считать небезопасным. Вы можете использовать файл опций, чтобы избежать ввода пароля в командной строке.
-Z, --persistent При использовании ANALYZE TABLE (--analyze) используется опция PERSISTENT FOR ALL, которая принудительно обновляет Статистику независимо от движка для этой таблицы. Добавлено в MariaDB 10.1.10
-W, --pipe В Windows подключиться к серверу через именованную трубу. Эта опция применяется только если сервер поддерживает подключения через именованные трубы.
--plugin-dir Директория для плагинов клиента.
-P num, --port=num Номер порта для подключения или 0 для использования по умолчанию, в порядке приоритета: my.cnf, $MYSQL_TCP_PORT, /etc/services, встроенный по умолчанию (3306).
--process-tables Выполнить запрашиваемую операцию (проверка, восстановление, анализ, оптимизация) над таблицами. Включено по умолчанию. Используйте --skip-process-tables для отключения.
--process-views[=val] Выполнить запрашиваемую операцию (только CHECK VIEW или REPAIR VIEW). Возможные значения: NO, YES (исправить контрольную сумму, при необходимости, добавить поле mariadb-version), UPGRADE_FROM_MYSQL (то же, что YES, и переключить алгоритм MERGE<->TEMPTABLE).
--protocol=name Протокол подключения (tcp, socket, pipe, memory) для подключения к серверу. Полезно, когда другие параметры подключения заставляют использовать другой протокол, чем нужный.
-q, --quick Если вы используете эту опцию с CHECK TABLE, она предотвращает проверку сканированием строк для проверки неправильных связей. Это самая быстрая проверка. Если вы используете эту опцию с REPAIR TABLE, она попытается восстановить только дерево индекса. Это самый быстрый метод восстановления таблицы.
-r, --repair Может исправить практически все, кроме уникальных ключей, которые не уникальны.
--shared-memory-base-name Имя общей памяти для использования Windows-соединений, использующих общую память с локальным сервером (запущенным с опцией --shared-memory). Регистрозависимая.
-s, --silent Выводить только сообщения об ошибках.
--skip-database Не обрабатывать базу данных (регистрозависимо), указанную в качестве аргумента.
-S name, --socket=name Для подключений к localhost, файл Unix-соккета для использования, или, в Windows, имя именованной трубы для использования.
--ssl Включает TLS. TLS также включается даже без установки этой опции, когда установлены определенные другие TLS-опции. Начиная с MariaDB 10.2, опция --ssl по умолчанию не будет включать проверку сертификата сервера. Для проверки сертификата сервера пользователю необходимо указать опцию --ssl-verify-server-cert.
--ssl-ca=name Определяет путь к файлу PEM, который должен содержать один или несколько сертификатов X509 для доверенных центров сертификации (ЦС), используемых для TLS. Эта опция требует указания абсолютного пути, а не относительного. Смотрите Обзор безопасных подключений: Центры сертификации (ЦС) для получения дополнительной информации. Эта опция подразумевает опцию --ssl
--ssl-capath=name Определяет путь к каталогу, который содержит один или несколько файлов PEM, каждый из которых должен содержать один сертификат X509 для доверенного центра сертификации (ЦС), используемого для TLS. Эта опция требует указания абсолютного пути, а не относительного. Каталог, указанный в этой опции, должен быть обработан командой openssl rehash. Смотрите Обзор безопасных подключений: Центры сертификации (ЦС) для получения дополнительной информации. Эта опция поддерживается только если клиент был скомпилирован с OpenSSL или yaSSL. Если клиент был скомпилирован с GnuTLS или Schannel, то эта опция не поддерживается. Смотрите TLS и криптографические библиотеки, используемые MariaDB, чтобы узнать, какие библиотеки используются на каких платформах. Эта опция подразумевает опцию --ssl
--ssl-cert=name Определяет путь к файлу сертификата X509, который необходимо использовать для TLS. Эта опция требует указания абсолютного пути, а не относительного. Эта опция подразумевает опцию --ssl
--ssl-cipher=name Список разрешенных шифров или наборов шифров для использования в TLS. Эта опция подразумевает опцию --ssl
--ssl-crl=name Определяет путь к файлу PEM, который должен содержать один или несколько отозванных сертификатов X509 для использования в TLS. Эта опция требует указания абсолютного пути, а не относительного. Смотрите Обзор безопасных подключений: Списки отозвания сертификатов (CRL) для получения дополнительной информации. Эта опция поддерживается только если клиент был скомпилирован с OpenSSL или Schannel. Если клиент был скомпилирован с yaSSL или GnuTLS, то эта опция не поддерживается. Смотрите TLS и криптографические библиотеки, используемые MariaDB, чтобы узнать, какие библиотеки используются на каких платформах.
--ssl-crlpath=name Определяет путь к каталогу, содержащему один или несколько файлов PEM, каждый из которых должен содержать один аннулированный сертификат X509, используемый для TLS. Этот параметр требует использования абсолютного пути, а не относительного. Каталог, указанный этим параметром, должен быть обработан командой openssl rehash. Дополнительную информацию см. в разделе Обзор безопасных соединений: списки аннулированных сертификатов (CRL). Этот параметр поддерживается только, если клиент был скомпилирован с OpenSSL. Если клиент был скомпилирован с yaSSL, GnuTLS или Schannel, то этот параметр не поддерживается. Дополнительную информацию о используемых библиотеках на разных платформах см. в разделе Библиотеки TLS и криптографии, используемые MariaDB.
--ssl-key=name Определяет путь к файлу с закрытым ключом, используемому для TLS. Этот параметр требует использования абсолютного пути, а не относительного. Этот параметр подразумевает параметр --ssl.
--ssl-verify-server-cert Включает проверку серверного сертификата. По умолчанию этот параметр отключен.
--tables Переопределяет параметр --databases или -B, так что все аргументы имени, следующие за параметром, рассматриваются как имена таблиц.
--use-frm Для операций ремонта таблиц MyISAM получить структуру таблицы из файла .frm, чтобы таблицу можно было отремонтировать, даже если заголовок .MYI поврежден.
-u, --user=name Пользователь для входа, если это не текущий пользователь.
-v, --verbose Вывести информацию о различных этапах. Вы можете указать этот параметр несколько раз, чтобы получить еще больше информации. См. mariadb-check и verbose ниже.
-V, --version Вывести информацию о версии и завершить работу.
--write-binlog Записать команды ANALYZE, OPTIMIZE и REPAIR TABLE в бинарный журнал. Включено по умолчанию; используйте --skip-write-binlog, когда команды не должны отправляться репликациям-клиентам.

Файлы параметров

В дополнение к чтению параметров из командной строки, mariadb-check также может читать параметры из файлов параметров. Если в файле параметров указан неизвестный параметр для mariadb-check, то он игнорируется.

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

Параметр Описание
--print-defaults Вывести список аргументов программы и завершить работу.
--no-defaults Не читать параметры по умолчанию из любого файла параметров.
--defaults-file=# Читать параметры по умолчанию только из заданного файла #.
--defaults-extra-file=# Прочитать этот файл после чтения глобальных файлов.
--defaults-group-suffix=# В дополнение к группам параметров по умолчанию, также читать группы параметров с этим суффиксом.

mariadb-check связан с MariaDB Connector/C. Однако MariaDB Connector/C пока не обрабатывает разбор файлов параметров для этого клиента. Это по-прежнему выполняется кодом парсинга файла параметров сервера. Дополнительную информацию см. на MDEV-19035.

Группы параметров

mariadb-check считывает параметры из следующих групп параметров из файлов параметров:

Группа Описание
[mysqlcheck] Параметры, считываемые mysqlcheck, что включает как MariaDB Server, так и MySQL Server.
[mariadb-check] Параметры, считываемые mariadb-check. Доступно начиная с MariaDB 10.4.6.
[client] Параметры, считываемые всеми программами MariaDB и MySQL клиентскими программами, что включает как MariaDB, так и MySQL клиенты. Например, mysqldump.
[client-server] Параметры, считываемые всеми программами MariaDB клиентскими программами и MariaDB Server. Это полезно для параметров, таких как сокет и порт, которые общие для сервера и клиентов.
[client-mariadb] Параметры, считываемые всеми программами MariaDB клиентскими программами.

Примечания

Значения по умолчанию

Чтобы увидеть значения параметров по умолчанию, а также аргументы, полученные из конфигурационных файлов, можно сделать следующее:

./client/mariadb-check --print-defaults
./client/mariadb-check --help

mariadb-check и автоматический ремонт

При запуске mariadb-check с --auto-repair (как это делает mariadb-upgrade), mariadb-check сначала проверит все таблицы, а затем на отдельном этапе отремонтирует те, которые не прошли проверку.

mariadb-check и все базы данных

mariadb-check --all-databases будет игнорировать внутренние таблицы журнала general_log и slow_log, поскольку их нельзя проверить, отремонтировать или оптимизировать.

mariadb-check и подробный вывод

Использование одного параметра --verbose даст вам больше информации о том, что делает mariadb-check.

Использование двух параметров --verbose также предоставит вам информацию о соединениях.

Если вы используете три параметра --verbose , то также на стандартном выводе получите все команды ALTER, RENAME и CHECK, выполняемые mariadb-check.

Содержание, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не предварительно просматривается 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/mariadb-check/

Spec-Zone.ru

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