Назад | Перейти на главную страницу

синхронизация определенных таблиц между двумя уже реплицируемыми кластерами MySQL

У меня есть кластер MySQL с циклической репликацией и новый кластер экземпляров Percona XtraDB, к которому мы сейчас переходим. Во время переезда мы запускаем некоторые проекты в старом кластере и другие проекты в новом кластере.

Я бы хотел, чтобы старый кластер реплицировал изменения в большинство таблицы в один конкретную базу данных в новый кластер. К сожалению, двоичный журнал содержит изменения для каждой таблицы в каждой базе данных, и, похоже, нет способа скомпилировать разные наборы двоичных журналов.

Есть ли разумный способ репликации только определенных таблиц отдельно от ранее существовавшей круговой репликации? Кластеры находятся в разных центрах обработки данных с разными поставщиками, поэтому я не хочу отправлять весь бинарный журнал по сети, когда мне нужна только исчезающе маленькая его часть.

Итак, подход, который я выбрал, был довольно запутанным и основывался в основном на http://www.jroller.com/dschneller/entry/mysql_replication_using_blackhole_engine.

Я запустил второй экземпляр MySQL на одной из машин старого кластера на порту 3307, запустив движок BLACKHOLE, а не InnoDB. Он принимает бинлоги и выводит свои, отфильтрованные с помощью binlog-do-db, replicate-ignore-table, и replicate-do-db. Затем эти значительно меньшие бинарные журналы загружаются одним из серверов в новом кластере, и все в порядке.