Spec-Zone .ru
спецификации, руководства, описания, API

16.1.1.9. Представление Дополнительных Ведомых устройств Существующей Среды Репликации

Чтобы добавить другое ведомое устройство существующей конфигурации репликации, можно сделать так, не останавливая ведущее устройство. Вместо этого установите новое ведомое устройство, делая копию существующего ведомого устройства, за исключением того, что Вы конфигурируете новое ведомое устройство с различным server-id значение.

Копировать существующее ведомое устройство:

  1. Завершите работу существующего ведомого устройства:

    shell> mysqladmin
                        shutdown
  2. Скопируйте каталог данных от существующего ведомого устройства до нового ведомого устройства. Можно сделать это, создавая архив, используя tar или WinZip, или выполняя прямую копию, используя инструмент, такой как cp или rsync. Гарантируйте, что Вы также копируете файлы журнала и релейные файлы журнала.

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

    071118 16:44:10 [Warning] Neither --relay-log nor --relay-log-index were used; soreplication may break when this MySQL server acts as a slave and has his hostnamechanged!! Please use '--relay-log=new_slave_hostname-relay-bin' to avoid this problem.071118 16:44:10 [ERROR] Failed to open the relay log './old_slave_hostname-relay-bin.003525'(relay_log_pos 22940879)071118 16:44:10 [ERROR] Could not find target log during relay log initialization071118 16:44:10 [ERROR] Failed to initialize the master info structure

    Это то, вследствие того, что, если --relay-log опция не определяется, релейные файлы журнала содержат имя хоста как часть их имен файлов. (Это также верно для релейного индексного файла журнала если --relay-log-index опция не используется. См. Раздел 16.1.4, "Репликация и Двоичные Опции Журналирования и Переменные", для получения дополнительной информации об этих опциях.)

    Чтобы избежать этой проблемы, используйте то же самое значение для --relay-log на новом ведомом устройстве, которое использовалось на существующем ведомом устройстве. (Если эта опция не была установлена явно на существующем ведомом устройстве, использовать existing_slave_hostname-relay-bin.), Если это не выполнимо, скопируйте реле существующего ведомого устройства, регистрируют индексный файл к новому ведомому устройству и устанавливают --relay-log-index опция на новом ведомом устройстве, чтобы соответствовать, что использовалось на существующем ведомом устройстве. (Если эта опция не была установлена явно на существующем ведомом устройстве, использовать existing_slave_hostname-relay-bin.index.) Альтернативно — если Вы уже попытались запустить новое ведомое устройство (после того, как следование за остающимися шагами в этом разделе) и встретились, ошибки как описанные ранее — тогда выполняют следующие шаги:

    1. Если Вы уже не сделали так, проблема a STOP SLAVE на новом ведомом устройстве.

      Если Вы уже запустили существующее ведомое устройство снова, проблему a STOP SLAVE на существующем ведомом устройстве также.

    2. Скопируйте содержание индексного файла журнала реле существующего ведомого устройства в индексный файл журнала реле нового ведомого устройства, удостоверяясь перезаписывать любой контент уже в файле.

    3. Продолжите с остающимися шагами в этом разделе.

  3. Скопируйте основную информацию и релейные репозитарии информации журнала (см. Раздел 16.2.2, "Реле репликации и Журналы Состояния") от существующего ведомого устройства до нового ведомого устройства. Они содержат текущие координаты журнала для двоичного журнала ведущего устройства и релейного журнала ведомого устройства.

  4. Запустите существующее ведомое устройство.

  5. На новом ведомом устройстве отредактируйте конфигурацию и дайте новому ведомому устройству уникальное server-id не используемый ведущим устройством или любым из существующих ведомых устройств.

  6. Запустите новое ведомое устройство. Ведомое устройство использует информацию в своем основном репозитарии информации, чтобы запустить процесс репликации.