16.2.5.1 Оценка параметров репликации на уровне базы данных и двоичного журналирования
При оценке параметров репликации реплика начинает с проверки наличия параметров --replicate-do-db или --replicate-ignore-db. При использовании --binlog-do-db или --binlog-ignore-db процесс аналогичен, но параметры проверяются на источнике.
База данных, проверяемая на соответствие, зависит от формата двоичного журнала инструкции, обрабатываемой в данный момент. Если инструкция была записана в формате строк, проверяется база данных, в которой данные должны быть изменены. Если инструкция была записана в формате инструкций, проверяется базовая база данных (указанная с помощью инструкции USE).
Только инструкции DML могут быть записаны в формате строк. Инструкции DDL всегда записываются в формате инструкций, даже если binlog_format=ROW. Поэтому все инструкции DDL всегда фильтруются в соответствии с правилами репликации на основе инструкций. Это означает, что для применения инструкции DDL необходимо явно выбрать базу данных по умолчанию с помощью инструкции USE.
Для репликации этапы перечислены ниже:
-
Какой формат журналирования используется?
ИНСТРУКЦИЯ. Проверить базу данных по умолчанию.
СТРОКА. Проверить базу данных, затронутую изменениями.
-
Есть ли какие-либо параметры
--replicate-do-db?-
Да. Соответствует ли база данных одному из них?
Да. Перейти к шагу 4.
Нет. Пропустить обновление и выйти.
Нет. Перейти к шагу 3.
-
-
Есть ли какие-либо параметры
--replicate-ignore-db?-
Да. Соответствует ли база данных одному из них?
Да. Пропустить обновление и выйти.
Нет. Перейти к шагу 4.
Нет. Перейти к шагу 4.
-
-
Перейти к проверке параметров репликации на уровне таблиц, если они есть. Подробное описание проверки этих параметров см. в разделе 16.2.5.2 «Оценка параметров репликации на уровне таблиц».
ВажноИнструкция, которая по-прежнему разрешена на данном этапе, еще не выполняется. Выполнение инструкции происходит только после проверки всех параметров на уровне таблиц (если таковые имеются) и результата этого процесса, который разрешает выполнение инструкции.
Для двоичного журналирования этапы перечислены ниже:
-
Есть ли какие-либо параметры
--binlog-do-dbили--binlog-ignore-db?Да. Перейти к шагу 2.
Нет. Записать инструкцию и выйти.
-
Есть ли базовая база данных (была ли выбрана какая-либо база данных с помощью
USE)?Да. Перейти к шагу 3.
Нет. Пропустить инструкцию и выйти.
-
Базовая база данных существует. Есть ли какие-либо параметры
--binlog-do-db?-
Да. Соответствует ли какой-либо из них базе данных?
Да. Записать инструкцию и выйти.
Нет. Пропустить инструкцию и выйти.
Нет. Перейти к шагу 4.
-
-
Соответствуют ли какие-либо параметры
--binlog-ignore-dbбазе данных?Да. Пропустить инструкцию и выйти.
Нет. Записать инструкцию и выйти.
Для журналирования на основе инструкций есть исключение из приведенных выше правил для инструкций CREATE
DATABASE, ALTER
DATABASE и DROP
DATABASE. В этих случаях база данных, которая создается, изменяется или удаляется, заменяет базу данных по умолчанию при определении, нужно ли записывать или игнорировать обновления.
--binlog-do-db иногда может означать “игнорировать другие базы данных”. Например, при использовании журналирования на основе инструкций сервер, работающий только с --binlog-do-db=sales, не записывает в двоичный журнал инструкции, для которых базовая база данных отличается от sales. При использовании журналирования на основе строк с тем же параметром сервер записывает только те обновления, которые изменяют данные в sales.
© 2025 Oracle
Licensed under the GPLv2 License.