Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL 5.6 поддерживает задержанную репликацию так, что, ведомый сервер сознательно отстает от ведущего
устройства, по крайней мере, указанным количеством времени. Задержка значения по умолчанию составляет 0 секунд.
Используйте MASTER_DELAY
опция для CHANGE MASTER TO
установить задержку в N
секунды:
CHANGE MASTER TO MASTER_DELAY = N
;
Событие, полученное от ведущего устройства, не выполняется до, по крайней мере, N
на несколько секунд позже чем его выполнение на ведущем устройстве.
Исключения - то, что нет никакой задержки событий описания формата или событий вращения файла журнала, которые
влияют только на внутреннее состояние потока SQL.
Задержанная репликация может использоваться в нескольких целях:
Защищать от пользователя перепутывает на ведущем устройстве. DBA может откатывать задержанное ведомое устройство времени как раз перед бедствием.
Протестировать, как система ведет себя, когда есть задержка. Например, в приложении, задержка могла бы быть вызвана тяжелым грузом на ведомом устройстве. Однако, может быть трудно генерировать этот уровень загрузки. Задержанная репликация может моделировать задержку, не имея необходимость моделировать загрузку. Это может также использоваться, чтобы отладить условия, связанные с отстающим ведомым устройством.
Осмотреть что база данных, на которую похожи давно, не имея необходимость перезагружать резервное копирование. Например, если задержка является одной неделей, и DBA должен видеть то, что база данных, на которую похожи перед ценностью прошлых нескольких дней разработки, может быть осмотрено задержанное ведомое устройство.
START
SLAVE
и STOP SLAVE
вступите в силу сразу и проигнорируйте любую задержку. RESET SLAVE
сбрасывает задержку к 0.
SHOW SLAVE STATUS
имеет три поля, которые предоставляют информацию о задержке:
SQL_Delay
: Неотрицательное целое число, указывающее на
число секунд, что ведомое устройство должно изолировать ведущее устройство.
SQL_Remaining_Delay
: Когда Slave_SQL_Running_State
Waiting until MASTER_DELAY seconds after master executed event
, это поле
содержит целое число, указывающее на число секунд, оставленных задержки. В других случаях это поле NULL
.
Slave_SQL_Running_State
: Строка, указывающая на
состояние потока SQL (аналогичный Slave_IO_State
). Значение идентично State
значение SQL распараллеливает как выведено на экран SHOW PROCESSLIST
.
Когда ведомый поток SQL ожидает задержки, чтобы протечь прежде, чем выполнить событие, SHOW PROCESSLIST
дисплеи State
значение как Waiting until MASTER_DELAY seconds after master executed event
.
relay-log.info
файл теперь содержит значение задержки, таким образом, формат файла
изменился. См. Раздел
16.2.2.2, "Ведомые Журналы Состояния". В частности первая строка файла теперь указывает,
сколько строк находится в файле. Если Вы понизите ведомый сервер к версии, более старой чем MySQL 5.6, то более
старый сервер не будет читать файл правильно. Чтобы адресовать это, измените файл в текстовом редакторе, чтобы
удалить начальную строку, содержащую число строк.