mariadb-binlog Параметры
Начиная с MariaDB 10.4.6, mariadb-binlog является символической ссылкой на mysqlbinlog.
Начиная с MariaDB 10.5.2, mariadb-binlog — имя инструмента, а mysqlbinlog — символическая ссылка.
mariadb-binlog — это утилита, включенная в MariaDB для обработки файлов бинарного лога и relay лога.
Параметры
Следующие параметры поддерживаются mariadb-binlog. Их можно указать в командной строке или в файлах параметров:
| Параметр | Значение по умолчанию | Описание | Введён в |
|---|---|---|---|
-?, --help
|
Отобразить сообщение справки. | ||
--base64-output=name (>= MariaDB 10.6.1, MariaDB 10.5.11) |
auto |
Определяет, когда команды вывода должны быть закодированы в base64 BINLOG-заявлениями. Доступные варианты (регистронезависимые) включают auto, unspec, never и decode-rows. never не отображает кодировки base64 и подробные данные событий, и завершается с ошибкой, если найден событие на основе строки. Этот параметр полезен для binlog, которые целиком основаны на операциях. decode-rows декодирует события на основе строк в комментированные SQL-заявления, если также задан параметр --verbose. Это может улучшить процесс отладки больших файлов бинарного журнала, так как исходные данные будут пропущены. В отличие от never, mariadb-binlog не завершается с ошибкой, если обнаружено событие на основе строк. auto (синоним unspec) выводит в base64 кодированные записи для событий на основе строк и событий описания формата; он должен использоваться, когда события формата ROW обрабатываются для повторного выполнения на сервере MariaDB. Это поведение предполагается, таким образом, auto является значением по умолчанию, когда не указан никакой параметр. Другие значения параметров предназначены только для отладки или тестирования, поскольку они могут генерировать вывод, не включающий все события в исполняемой форме. |
|
--base64-output[=name] (<= MariaDB 10.6.0, MariaDB 10.5.10) |
(Значение по умолчанию отсутствует) | Определяет, когда команды вывода должны быть закодированы в base64 BINLOG-заявлениями. Доступные варианты (регистронезависимые) включают auto, unspec, always (устарело), never и decode-rows. never отключает его и работает только для бинарных журналов без событий на основе строк; decode-rows декодирует события на основе строк в комментированные SQL-заявления, если также задан параметр --verbose; В отличие от never, mariadb-binlog не завершается с ошибкой, если обнаружено событие на основе строк auto или unspec, по умолчанию, выводит base64 только при необходимости (т.е., для событий на основе строк и событий описания формата), и является единственным безопасным поведением, если вы намерены использовать вывод mariadb-binlog для повторного выполнения содержимого файлов бинарного журнала. Другие значения параметров предназначены только для отладки или тестирования, поскольку они могут генерировать вывод, не включающий все события в исполняемой форме.; always выводит base64 при любой возможности и предназначен только для отладки и не должен использоваться в рабочей системе. Если этот параметр не указан, значение по умолчанию auto; если он указан без аргумента, используется always. |
|
--binlog-row-event-max-size=val |
4294967040 (4 ГБ) | Максимальный размер в байтах события бинарного журнала на основе строки. Должно быть кратно 256. Минимум 256, максимум 18446744073709547520. | |
--character-sets-dir=name |
(Значение по умолчанию отсутствует) | Директория, где находятся кодировки символов. | |
-d, --database=name
|
(Значение по умолчанию отсутствует) | Вывод записей из бинарного журнала (только локальный журнал), которые происходят, когда имя было выбрано в качестве базы данных по умолчанию с помощью USE. Можно указать только одну базу данных. Эффект зависит от того, используется ли формат протоколирования на основе оператора или на основе строки. При протоколировании на основе оператора сервер будет протоколировать только операторы, где базой данных по умолчанию является имя. База данных по умолчанию устанавливается с помощью оператора USE. При протоколировании на основе строк сервер будет протоколировать любые обновления любых таблиц в указанной базе данных, независимо от текущей базы данных. Игнорируется в режиме --raw. |
|
-# [options], --debug[=options]
|
d:t:o,/tmp/mariadb-binlog.trace |
В отладочной сборке записывается отладочный журнал. Типичная строка параметров отладки d:t:o,file_name. |
|
--debug-check |
FALSE | Вывести информацию об ошибках при завершении. | |
--debug-info |
FALSE | Вывести информацию об ошибках, памяти и процессоре при завершении. | |
--default-auth=name |
Подключаемый модуль клиента по умолчанию. | ||
--defaults-extra-file=name |
Прочитать файл имя, который может быть полным путем или путем относительно текущей директории, после чтения глобальных файлов. | ||
--defaults-file=name |
Читать только параметры по умолчанию из данного файла имя , который может быть полным путем или путем относительно текущей директории. |
||
--defaults-group-suffix=str |
Также читать группы с суффиксом str. Например, поскольку mariadb-binlog обычно читает группы [client] и [mysqlbinlog], --defaults-group-suffix=x заставит его также читать группы [mysqlbinlog_x] и [client_x]. |
||
-D, --disable-log-bin
|
FALSE | Отключить бинарный журнал. Это полезно, если вы включили --to-last-log и отправляете вывод на тот же сервер MariaDB. Таким образом, можно избежать бесконечной петли. Также вы хотите использовать его при восстановлении после сбоя, чтобы избежать дублирования уже имеющихся команд. ПРИМЕЧАНИЕ: для использования этого параметра требуется привилегия SUPER. |
|
--do-domain-ids=name |
(Значение по умолчанию отсутствует) | Список положительных целых чисел, разделенных запятыми, образующих белый список идентификаторов доменов. Любое событие журнала с GTID, которое происходит из идентификатора домена, указанного в этом списке, отображается. Не может быть использовано с --ignore-domain-ids. При использовании с --ignore-server-ids или --do-server-ids, результатом является пересечение двух наборов данных. |
MariaDB 10.9.0 |
--do-server-ids=name |
(Значение по умолчанию отсутствует) | Список положительных целых чисел, разделенных запятыми, образующих белый список идентификаторов серверов. Любое событие журнала, исходящее от идентификатора сервера, указанного в этом списке, отображается. Не может быть использовано с --ignore-server-ids. При использовании с --ignore-domain-ids или do-domain-ids, результатом является пересечение двух наборов данных. Псевдоним для --server-id. |
MariaDB 10.9.0 |
-B, --flashback
|
FALSE | Поддержка режима восстановления. | MariaDB 10.2.4 |
-F, --force-if-open
|
TRUE | Вынужденное выполнение, если binlog не был закрыт должным образом. По умолчанию включено; используйте --skip-force-if-open для отключения. |
|
-f, --force-read
|
FALSE | Если mariadb-binlog читает событие бинарного журнала, которое не распознаёт, он выводит предупреждение, игнорирует событие и продолжает выполнение. Без этого параметра mariadb-binlog останавливается, если считывает такое событие. | |
--gtid-strict-mode |
TRUE | Обработка binlog в соответствии со спецификацией gtid-strict-mode. Начальные и конечные позиции проверяются для выполнения условия сравнения начало < конец. Номера последовательностей любого домена gtid должны составлять монотонно возрастающую последовательность. По умолчанию включено; используйте --skip-gtid-strict-mode для отключения. |
MariaDB 10.8.0 |
-H, --hexdump
|
FALSE | Дополнить вывод шестнадцатеричным и ASCII-выводом событий. | |
-h, --host=name
|
(Значение по умолчанию отсутствует) | Получить binlog с сервера MariaDB на указанном хосте. | |
--ignore-domain-ids=name |
(Значение по умолчанию отсутствует) | Список положительных целых чисел, разделенных запятыми, образующих черный список идентификаторов доменов. Любое событие журнала с GTID, которое происходит из идентификатора домена, указанного в этом списке, скрывается. Не может быть использовано с --do-domain-ids. При использовании с --ignore-server-ids или --do-server-ids, результатом является пересечение двух наборов данных. |
MariaDB 10.9.0 |
--ignore-server-ids=name |
(Значение по умолчанию отсутствует) | Список положительных целых чисел, разделенных запятыми, образующих черный список идентификаторов серверов. Любое событие журнала, исходящее от идентификатора сервера, указанного в этом списке, скрывается. Не может быть использовано с --do-server-ids. При использовании с --ignore-domain-ids или --do-domain-ids, результатом является пересечение двух наборов данных. |
MariaDB 10.9.0 |
-l path, --local-load=path
|
(Значение по умолчанию отсутствует) | Подготовить локальные временные файлы для LOAD DATA INFILE в указанной директории. Временные файлы не удаляются автоматически. | |
--no-defaults |
Не читать параметры по умолчанию из файла параметров | ||
-o value, --offset=value
|
0 | Пропустить первые значение записей в журнале. | |
--open_files_limit=# |
64 | Зарезервировать дескрипторы файлов для использования mariadb-binlog. | |
-p[passwd], --password[=passwd]
|
(Значение по умолчанию отсутствует) | Пароль для подключения к удалённому серверу. Пароль можно опустить, чтобы ввести его с приглашения, или использовать файл параметров для предотвращения риска передачи пароля в командной строке. | |
--plugin-dir=dir_name, |
Директория для подключаемых модулей клиента. |
-P num, --port=num
|
0 | Номер порта для подключения или 0 для использования по умолчанию, в порядке предпочтения: my.cnf, $MYSQL_TCP_PORT, /etc/services, встроенный по умолчанию (3306). | |
--position=# |
4 | Удалено в MariaDB 5.5. Используйте --start-position вместо этого. |
|
--print-defaults |
Вывести список аргументов программы из всех файлов опций и завершить работу. | ||
--print-row-count |
TRUE | Выводить количество строк для каждого события. (По умолчанию включено; используйте --skip-print-row-count для отключения.) |
MariaDB 10.3 |
--print-row-event-positions |
TRUE | Выводить позиции событий строк. По умолчанию включено; используйте --skip-print-row-event-positions для отключения.) |
MariaDB 10.3 |
print-table-metadata |
Вывести метаданные, сохраненные в Table_map_log_event. | MariaDB 10.5.0 | |
--protocol=name |
(Значение по умолчанию отсутствует) | Протокол подключения (tcp,socket,pipe,memory). | |
--raw |
Требует -R. Выводить сырые данные binlog вместо SQL-запросов. Имена выходных файлов — по аналогии с серверными логами. | MariaDB 10.2.0 | |
-R, --read-from-remote-server
|
FALSE | Считывать двоичные логи с удаленного сервера MariaDB вместо считывания локального файла журнала. Любые параметры подключения игнорируются, если этот параметр не задан. Эти параметры: --host, --password, --port, --protocol, --socket, и --user. Этот параметр требует, чтобы удаленный сервер был запущен. Работает только для двоичных журналов на удаленном сервере, а не для файлов журналов ретрансляции. |
|
-r name, --result-file=name
|
(Значение по умолчанию отсутствует) | Прямой вывод в указанный файл. При использовании --raw это префикс для имён файлов. | |
--rewrite-db=name |
(Значение по умолчанию отсутствует) | Обновления в базе данных с другим именем, чем исходная. Пример: rewrite-db='from->to' Для событий, которые записываются в binlog как операторы, переписывание базы данных означает изменение базы данных по умолчанию оператора с db1 на db2.Анализа и переписывания операторов никакого не происходит, то есть, если явно указано " db1.tbl" в операторе, это вхождение не будет изменено на "db2.tbl".События на основе строк переписываются правильно, чтобы использовать новое имя базы данных. Фильтрация (например, с --database=name ) происходит *до* выполнения переписываний базы данных.Если вы используете этот параметр в командной строке, и " >" имеет специальное значение для вашего интерпретатора команд, укажите значение в кавычках (например, --rewrite-db="oldname->newname"). |
|
--server-id=idnum |
0 | Извлечь только записи binlog, созданные сервером с заданным идентификатором. Начиная с MariaDB 10.9.0, псевдоним для --do-server-ids. | |
--set-charset=character_set |
(Значение по умолчанию отсутствует) | Добавить 'SET NAMES character_set' в вывод, чтобы указать набор символов, который будет использоваться для обработки файлов журналов. |
|
--shared-memory-base-name=name |
MYSQL | Имя общей памяти, используемое для подключений Windows, использующих общую память с локальным сервером (запущенным с параметром --shared-memory). Регистрозависимый. |
|
-s, --short-form
|
FALSE | Показать только обычные запросы: без дополнительной информации и событий на основе строк. Только для тестирования и не следует использовать в производственных системах. Если вы хотите подавить вывод base64, используйте --base64-output=never вместо этого. |
|
--skip-annotate-row-events |
Пропустить все события Annotate_rows в выводе mariadb-binlog (по умолчанию mariadb-binlog печатает события Annotate_rows, если двоичный журнал их содержит). | ||
-S, --socket=name
|
(Значение по умолчанию отсутствует) | Для подключений к localhost, файл сокета Unix или, в Windows, имя именованного канала. | |
--ssl |
FALSE |
Включает 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 |
FALSE |
Включает проверку сертификата сервера. Этот параметр отключён по умолчанию. | |
--start-datetime=datetime |
(Значение по умолчанию отсутствует) | Начать чтение binlog с первого события, дата и время которого равны или позже указанного значения; значение должно быть датой и временем в местном часовом поясе, в любом формате, принятом сервером MariaDB для типов DATETIME и TIMESTAMP, например: 2014-12-25 11:25:56 (вероятно, следует использовать кавычки для корректной установки в оболочке). Этот параметр полезен для восстановления состояния на определённую дату. | |
-j pos, --start-position=pos
|
4 | Начать чтение binlog с данной позиции. Тип может быть положительным целым числом или, начиная с MariaDB 10.8.0, списком GTID. При использовании положительного целого числа, значение применяется только к первому binlog, переданному в командной строке. В режиме GTID, несколько GTID могут быть переданы в качестве списка, разделённого запятыми, где каждый должен иметь уникальный идентификатор области. Список представляет состояние binlog gtid, о котором клиент (другой «сервер-реплика») знает. Следовательно, каждый GTID исключителен; будут выведены только события после заданного порядкового номера, чтобы пользователи могли получить события после своего текущего состояния. |
--stop-datetime=name |
(Значение по умолчанию отсутствует) | Прекратить чтение бинарного лога на первом событии, у которого дата и время равны или позже аргумента; аргумент должен быть датой и временем в местном часовом поясе в любом формате, принимаемом сервером MariaDB для типов DATETIME и TIMESTAMP, например: 2014-12-25 11:25:56 (вероятно, вам следует использовать кавычки для корректной передачи в командной строке). Игнорируется в режиме --raw. |
|
--stop-never |
Ожидать дополнительных данных от сервера вместо остановки в конце последнего лога. Подразумевает --to-last-log. |
MariaDB 10.2.0 | |
--stop-never-slave-server-id |
Используемый slave server_id для --read-from-remote-server --stop-never. |
MariaDB 10.2.0 | |
--stop-position=pos |
18446744073709551615 | Прекратить чтение бинарного лога на этой позиции. Тип может быть положительным целым числом или, начиная с MariaDB 10.8, списком GTID. При использовании положительного целого числа значение применяется только к последнему бинарному логу, переданному в командной строке. В режиме GTID несколько GTID могут передаваться через запятую, при этом каждый должен иметь уникальный идентификатор домена. Каждый GTID включает в себя все события до указанного порядкового номера. Игнорируется в режиме --raw . |
|
-T, --table
|
Список записей только для этой таблицы (только локальный лог). | MariaDB 10.2.4 | |
--tls-version=name |
TLSv1.1,TLSv1.2,TLSv1.3 | Этот параметр принимает список TLS-версий протоколов, разделённых запятыми. Версия TLS-протокола будет включена только в том случае, если она присутствует в этом списке. Все остальные версии TLS-протоколов не будут разрешены. Дополнительную информацию см. в разделе Обзор безопасных соединений: версии TLS-протоколов. | MariaDB 10.4.6 |
-t, --to-last-log
|
FALSE | Требует -R или --read-from-remote-server. Не остановится в конце запрошенного бинарного лога, а продолжит вывод до конца последнего бинарного лога сервера MariaDB. Если вы отправляете вывод на тот же сервер MariaDB, это может привести к бесконечной петле. |
|
-u, --user=username
|
(Значение по умолчанию отсутствует) | Подключение к удалённому серверу как пользователь. | |
-v, --verbose
|
Восстановление SQL-выражений из событий строк. -v -v добавляет комментарии к типам данных столбцов. | ||
-V, --version
|
Вывод версии и выход. | ||
--verify-binlog-checksum |
Проверка контрольных сумм событий бинарного журнала при чтении файла бинарного журнала. |
Файлы параметров
Помимо чтения параметров из командной строки, mariadb-binlog также может читать параметры из файлов параметров. Если неизвестный параметр предоставлен mariadb-binlog в файле параметров, он игнорируется.
Следующие параметры относятся к тому, как инструменты командной строки MariaDB обрабатывают файлы параметров. Они должны быть заданы в качестве первого аргумента в командной строке:
| Параметр | Описание |
|---|---|
--print-defaults |
Вывод списка аргументов программы и выход. |
--no-defaults |
Не читать параметры по умолчанию из какого-либо файла параметров. |
--defaults-file=# |
Читать только параметры по умолчанию из указанного файла №. |
--defaults-extra-file=# |
Читать этот файл после чтения глобальных файлов. |
--defaults-group-suffix=# |
Помимо стандартных групп параметров, также читать группы параметров с этим суффиксом. |
В MariaDB 10.2 и более поздних версиях mariadb-binlog связан с MariaDB Connector/C. Однако MariaDB Connector/C пока не обрабатывает парсинг файлов параметров для этого клиента. Эта задача всё ещё выполняется кодом парсинга файлов параметров сервера. Дополнительную информацию см. в MDEV-19035.
Группы параметров
mariadb-binlog читает параметры из следующих групп параметров из файлов параметров:
| Группа | Описание |
|---|---|
[mysqlbinlog] |
Параметры, читаемые mariadb-binlog, включая как MariaDB Server, так и MySQL Server. |
[mariadb-binlog] |
Параметры, читаемые mariadb-binlog. Доступно начиная с MariaDB 10.4.6. |
[client] |
Параметры, читаемые всеми клиентами MariaDB и MySQL клиентскими программами, включая как MariaDB, так и MySQL клиенты. Например, mysqldump. |
[client-server] |
Параметры, читаемые всеми клиентскими программами MariaDB и MariaDB Server. Это полезно для параметров, таких как сокет и порт, которые общие для сервера и клиентов. |
[client-mariadb] |
Параметры, читаемые всеми клиентами MariaDB клиентскими программами. |
mariadb-binlog связан с MariaDB Connector/C. Однако MariaDB Connector/C пока не обрабатывает парсинг файлов параметров для этого клиента. Эта задача всё ещё выполняется кодом парсинга файлов параметров сервера. Дополнительную информацию см. в MDEV-19035.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-binlog-options/