Spec-Zone.ru › MariaDB

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

MariaDB, начиная с 10.4.6

Начиная с MariaDB 10.4.6, mariadb-binlog является символической ссылкой на mysqlbinlog.

MariaDB, начиная с 10.5.2

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

Двоичный журнал сервера MariaDB — это набор файлов, содержащих «события», которые представляют изменения в содержимом базы данных MariaDB. Эти события записываются в двоичном (т. е. нечитабельном для человека) формате. Утилита mariadb-binlog используется для просмотра этих событий в текстовом формате.

Запустите mariadb-binlog из командной строки следующим образом:

shell> mariadb-binlog [options] log_file ...

Подробную информацию об доступных параметрах см. в разделе Параметры mariadb-binlog.

В качестве примера, вот как можно отобразить содержимое файла двоичного журнала с именем "mariadb-bin.000152":

shell> mariadb-binlog mariadb-bin.000152

Если используется протоколирование на основе инструкций (по умолчанию), вывод включает SQL-инструкцию, идентификатор сервера, на котором была выполнена инструкция, метку времени и время выполнения инструкции. Если используется протоколирование на основе строк, вывод события не будет содержать SQL-инструкцию, а вместо этого отобразит, как изменялись отдельные строки.

Вывод mariadb-binlog может быть использован как вход для клиента mariadb для повторного выполнения инструкций, содержащихся в двоичном журнале. Это полезно для восстановления после сбоя сервера. Вот пример:

shell> mariadb-binlog binlog-filenames | mysql -u root -p

Если вы хотите просмотреть и, возможно, отредактировать файл перед применением его к базе данных, используйте флаг '-r' для перенаправления вывода в файл:

shell> mariadb-binlog -r filename binlog-filenames

Затем вы можете открыть файл, просмотреть его и удалить любые инструкции, которые не хотите выполнять (например, случайное DROP DATABASE). После того, как вы будете удовлетворены содержимым, вы можете выполнить его с помощью:

shell> mariadb -u root -p < filename

Будьте осторожны при обработке нескольких файлов журнала в одном соединении, особенно если в одном или нескольких из них есть инструкции CREATE TEMPORARY TABLE .... Временные таблицы удаляются при завершении работы клиента mariadb, поэтому если вы обрабатываете несколько файлов журнала по одному (т.е. по одному соединению), и один файл журнала создаёт временную таблицу, а последующий файл журнала ссылается на таблицу, вы получите ошибку «неизвестная таблица».

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

shell> mariadb-binlog mariadb-bin.000001 mariadb-bin.000002 | mariadb -u root -p

Если вам нужно вручную отредактировать двоичные логи перед выполнением, объедините их все в один файл перед обработкой. Вот пример:

shell> mariadb-binlog mariadb-bin.000001 > /tmp/mariadb-bin.sql
shell> mariadb-binlog mariadb-bin.000002 >> /tmp/mariadb-bin.sql
shell> # make any edits
shell> mysql -u root -p -e "source /tmp/mariadb-bin.sql"

См. также

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

Spec-Zone.ru

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