Spec-Zone.ru › MySQL 5.7

16.2.5 Как серверы оценивают правила фильтрации репликации

  • 16.2.5.1 Оценка параметров репликации на уровне базы данных и параметров двоичного протоколирования
  • 16.2.5.2 Оценка параметров репликации на уровне таблиц
  • 16.2.5.3 Взаимодействие параметров фильтрации репликации

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

На источнике вы можете управлять тем, для каких баз данных протоколировать изменения, используя параметры --binlog-do-db и --binlog-ignore-db для управления двоичным протоколированием. Описание правил, используемых серверами для оценки этих параметров, см. в разделе 16.2.5.1 «Оценка параметров репликации на уровне базы данных и параметров двоичного протоколирования». Не следует использовать эти параметры для управления тем, какие базы данных и таблицы реплицируются. Вместо этого используйте фильтрацию на реплике, чтобы управлять событиями, которые выполняются на реплике.

На стороне реплики решения о выполнении или игнорировании операторов, полученных от источника, принимаются в соответствии с параметрами --replicate-*, с которыми была запущена реплика. (См. раздел 16.1.6 «Параметры и переменные репликации и двоичного протоколирования».) Фильтры, управляемые этими параметрами, также могут быть настроены динамически с помощью оператора CHANGE REPLICATION FILTER. Правила, управляющие такими фильтрами, одинаковы, независимо от того, были ли они созданы во время запуска с помощью параметров --replicate-* или в процессе работы сервера реплики с помощью CHANGE REPLICATION FILTER. Обратите внимание, что фильтры репликации не могут использоваться на экземпляре MySQL, настроенном для групповой репликации, так как фильтрация транзакций на некоторых серверах сделает группу неспособной достичь соглашения о согласованном состоянии.

В простейшем случае, когда нет параметров --replicate-*, реплика выполняет все операторы, которые она получает от источника. В противном случае результат зависит от указанных параметров.

Параметры на уровне базы данных (--replicate-do-db, --replicate-ignore-db) проверяются в первую очередь; см. раздел 16.2.5.1 «Оценка параметров репликации на уровне базы данных и параметров двоичного протоколирования» для описания этого процесса. Если параметры на уровне базы данных не используются, проверка параметров продолжается с любыми параметрами на уровне таблиц, которые могут быть в использовании (см. раздел 16.2.5.2 «Оценка параметров репликации на уровне таблиц» для обсуждения этих параметров). Если один или несколько параметров на уровне базы данных используются, но ни один из них не соответствует, оператор не реплицируется.

Для операторов, затрагивающих только базы данных (то есть, CREATE DATABASE, DROP DATABASE и ALTER DATABASE), параметры на уровне базы данных всегда имеют приоритет над любыми параметрами --replicate-wild-do-table. Другими словами, для таких операторов, параметры --replicate-wild-do-table проверяются только в том случае, если не существует параметров на уровне базы данных, которые применяются. Это изменение поведения по сравнению с предыдущими версиями MySQL, где оператор CREATE DATABASE dbx не реплицировался, если реплика была запущена с --replicate-do-db=dbx --replicate-wild-do-table=db%.t1. (Ошибка #46110)

Для облегчения определения влияния набора параметров рекомендуется избегать смешивания параметров «do» и «ignore», а также параметров с подстановочными знаками и без них.

Если были указаны параметры --replicate-rewrite-db, они применяются до проверки правил фильтрации --replicate-*.

Примечание

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

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/replication-rules.html

Spec-Zone.ru

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