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

Может ли ведомое устройство MySQL быть одновременно ведущим?

Я нахожусь в процессе миграции двух серверов БД (главный и подчиненный) на два новых сервера БД (главный и подчиненный)

DB1 - Мастер (производство)

DB2 - Slave (производство)

DB3 - новый мастер

DB4 - новый раб

В настоящее время я настроил репликацию как:

DB1 -> DB2
DB3 -> DB4

Чтобы реплицировать производственные данные на новые серверы, я хотел бы подключить их к цепочке, чтобы это выглядело так:

DB1 -> DB2 -> DB3 -> DB4

Это возможно? Когда я бегу show master status; в DB2 (производственном ведомом устройстве) положение binlog, похоже, никогда не меняется:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000020 |       98 |              |                  | 
+------------------+----------+--------------+------------------+

Я немного сбит с толку, почему позиция бинарного журнала в DB2 не меняется. В идеале это будет ведущее место в DB3.

Бинлог на DB2 не обновлял ведомые обновления. Для последовательного подключения репликации необходимо установить log-slave-updates в my.conf.

http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_log-slave-updates

Да, это возможно :) Это называется репликацией "Master with Relay Slave", и в сети есть много документов об этом.

Я бы порекомендовал вам взглянуть на официальную документацию Вот.

Кстати, также взгляните на эти слайды. У них есть подсказки по топологиям репликации.

Надеюсь это поможет.

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

Да, это возможно. На самом деле вам нужен новый снимок DB2 для построения DB3. На этом этапе, если у вас хорошая позиция, вы можете либо использовать чем для DB4, либо сделать еще один снимок DB3.

Не забудьте указать уникальный server_id для каждого сервера.

Высокая производительность MySQL - отличная книга для справки о более продвинутом администрировании MySQL.

Почему бы просто не добавить DB3 в качестве нового ведомого устройства, а затем повысить его до уровня ведущего, когда вы будете готовы переключиться? Это даст вам временное дополнительное преимущество в виде наличия нескольких ведомых устройств и уменьшит или устранит время простоя.