Spec-Zone .ru
спецификации, руководства, описания, API
|
Гарантировать целостность файлов, которые копируются, поддерживая файлы необработанных данных на Вашем ведомом
устройстве репликации MySQL, должно иметь место, в то время как Ваш ведомый сервер выключен. Если сервер MySQL
все еще работает, фоновые задачи могут все еще обновлять файлы базы данных, особенно те, которые включают
механизмы хранения с фоновыми процессами такой как InnoDB
. С InnoDB
,
эти проблемы должны быть разрешены во время восстановления катастрофического отказа, но так как ведомый сервер
может быть выключен во время процесса резервного копирования, не влияя на выполнение ведущего устройства, имеет
смысл использовать в своих интересах эту возможность.
Завершить работу сервера и поддержать файлы:
Завершите работу ведомого сервера MySQL:
shell> mysqladmin
shutdown
Скопируйте файлы данных. Можно использовать любое подходящее копирование или заархивировать утилиту, включая cp, tar или WinZip. Например, предполагая, что каталог данных располагается под текущим каталогом, можно заархивировать весь каталог следующим образом:
shell> tar cf /tmp/dbbackup.tar
./data
Запустите сервер 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
системная переменная.