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

Репликация MySQL: снова синхронизируйте ведущее устройство с ведомым устройством

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

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

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

Вместо того, чтобы называть их «хозяином» и «рабом», давайте обрисуем их так:

  • HostA: Оригинальный «хозяин»
  • HostB: оригинальный "раб"

Когда вы вставляли данные непосредственно в HostB, HostA отставал от двоичного журнала операций. Сначала вам нужно преодолеть это, сделав HostA подчиненным для HostB, используя CHANGE MASTER TO команда ( http://dev.mysql.com/doc/refman/5.0/en/change-master-to.html ). Это должно заставить HostA синхронизироваться с HostB.

Как только HostA догнал HostB, вы захотите сбросить двоичный журнал HostA и повысить его до уровня master.

  1. На HostA: RESET MASTER;
  2. На HostB: CHANGE MASTER TO ...

Для получения дополнительной информации взгляните на http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-switch.html#figure_replication-redundancy-after

Альтернативное решение:

  • Остановите РАБА и МАСТЕРА.
  • Запустите такую ​​программу, как Navicat для синхронизации данных с ПОДЧИНЕННОГО на ГЛАВНЫЙ.
  • Сбросьте РАБОТУ И МАСТЕР.
  • ЗАПУСТИТЕ МАСТЕРА И РАБ.

Данные должны быть в порядке.