Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел обеспечивает дополнительное объяснение и примеры использования для различных комбинаций опций фильтрации репликации.
Некоторые типичные комбинации типов правила фильтра репликации даются в следующей таблице:
Условие (Типы Опций) | Результат |
---|---|
Нет --replicate-* опции вообще: |
Ведомое устройство выполняет все события, которые оно получает от ведущего устройства. |
--replicate-*-db опции, но никакие табличные опции: |
Ведомое устройство принимает или игнорирует события, используя параметры базы данных. Это выполняет все события, разрешенные теми опциями, потому что нет никаких табличных ограничений. |
--replicate-*-table опции, но никакие параметры базы данных:
|
Все события принимаются на проверяющем базу данных этапе, потому что нет никаких условий базы данных. Ведомое устройство выполняет или игнорирует события, базируемые исключительно на табличных опциях. |
Комбинация базы данных и табличных опций: | Ведомое устройство принимает или игнорирует события, используя параметры базы данных. Затем это оценивает все события, разрешенные теми опциями согласно табличным опциям. Это может иногда приводить к результатам, которые кажутся парадоксальными, и это может отличаться в зависимости от того, используете ли Вы основанную на операторе или построчную репликацию; см. textfor пример. |
Более сложный пример следует, в котором мы исследуем результаты и на основанные на операторе и на основанные на строке настройки.
Предположите, что у нас есть две таблицы mytbl1
в базе данных db1
и mytbl2
в базе данных db2
на ведущем устройстве, и ведомом устройстве работает со следующими опциями (и
никакими другими опциями фильтрации репликации):
replicate-ignore-db = db1replicate-do-table = db2.tbl2
Теперь мы выполняем следующие операторы на ведущем устройстве:
USE db1;INSERT INTO db2.tbl2 VALUES (1);
Результаты на ведомом устройстве изменяются значительно в зависимости от двоичного формата журнала, и, возможно, не соответствуют начальные ожидания в любом случае.
Основанная на операторе репликация. USE
причины оператора db1
быть базой данных значения по умолчанию. Таким образом --replicate-ignore-db
соответствия опции, и INSERT
оператор игнорируется. Табличные опции не проверяются.
Построчная репликация. База данных значения по умолчанию не имеет никакого эффекта на то, как ведомое
устройство читает параметры базы данных при использовании построчной репликации. Таким образом, USE
оператор не имеет никакого значения в как --replicate-ignore-db
опция обрабатывается: база данных, определенная этой
опцией, не соответствует базу данных где INSERT
данные изменений оператора, таким образом, ведомое устройство
продолжается, чтобы проверить табличные опции. Таблица, определенная --replicate-do-table
соответствует таблицу, которая будет обновлена, и строка вставляется.