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

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

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

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

1 ответ

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

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

Другие вопросы по тегам