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

16.3.1.2. Поддержка Необработанных данных от Ведомого устройства

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

Завершить работу сервера и поддержать файлы:

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

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

    shell> tar cf /tmp/dbbackup.tar
                        ./data
  3. Запустите сервер MySQL снова. Под Unix:

    shell> mysqld_safe &

    Под Windows:

    C:\> "C:\Program Files\MySQL\MySQL
                        Server 5.7\bin\mysqld"

Обычно следует поддержать весь каталог данных для ведомого сервера MySQL. Если Вы хотите быть в состоянии восстановить данные и работать как ведомое устройство (например, в случае отказа ведомого устройства), то в дополнение к данным ведомого устройства, следует также поддержать ведомые файлы состояния, основную информацию и релейные репозитарии информации журнала, и релейные файлы журнала. Эти файлы необходимы, чтобы возобновить репликацию после того, как Вы восстанавливаете данные ведомого устройства.

Если Вы теряете релейные журналы, но все еще имеете relay-log.info файл, можно проверить это, чтобы определить, как далеко поток SQL выполнился в основных двоичных журналах. Затем можно использовать CHANGE MASTER TO с MASTER_LOG_FILE и MASTER_LOG_POS опции, чтобы сказать ведомому устройству перечитывать двоичные журналы от той точки. Это требует, чтобы двоичные журналы все еще существовали на главном сервере.

Если Ваше ведомое устройство тиражируется LOAD DATA INFILE операторы, следует также поддержать любого SQL_LOAD-* файлы, которые существуют в каталоге, который ведомое устройство использует с этой целью. Ведомое устройство нуждается в этих файлах, чтобы возобновить репликацию любого прерванного LOAD DATA INFILE операции. Расположение этого каталога является значением --slave-load-tmpdir опция. Если сервер не был запущен с той опции, расположение каталога является значением tmpdir системная переменная.