Задержанная репликация
В репликации исторически использовались термины мастер и слейв, но теперь предпочтительны термины первичный и реплика. Старые термины по-прежнему используются в некоторых частях документации и в командах MariaDB, хотя в MariaDB 10.5 начался процесс переименования. Процесс документирования продолжается. Следите за прогрессом в этом направлении на MDEV-18777.
Задержанная репликация позволяет указать, что реплика должна отставать от первичного сервера (по крайней мере) на заданный интервал времени (в секундах). Перед выполнением события реплика сначала ожидает, если необходимо, пока не пройдет указанное время с момента создания события на первичном сервере. В результате реплика будет отражать состояние первичного сервера некоторое время назад.
По умолчанию используется ноль, или отсутствие задержки, а максимальное значение равно 2147483647, или около 68 лет.
Задержанная репликация включается с помощью параметра MASTER_DELAY в команде CHANGE MASTER:
CHANGE MASTER TO master_delay=3600;
Задержка в нуль отключает задержанную репликацию. Реплика должна быть остановлена при изменении значения задержки.
Три поля в команде SHOW SLAVE STATUS связаны с задержанной репликацией:
- SQL_Delay: Это значение, заданное параметром MASTER_DELAY в команде CHANGE MASTER (или 0, если не задано).
- SQL_Remaining_Delay. Когда реплика задерживает выполнение события из-за MASTER_DELAY, это количество оставшихся секунд задержки до применения события. В противном случае значение равно NULL.
- Slave_SQL_Running_State. Это показывает состояние потоков SQL-драйвера, так же, как и в команде SHOW PROCESSLIST. Когда реплика задерживает выполнение события из-за MASTER_DELAY, это поле отображает: "Ожидание MASTER_DELAY секунд после выполнения события мастером".
При использовании более старых версий, предшествующих MariaDB 10.2.3, можно использовать сторонний инструмент pt-slave-delay. Он входит в состав Percona Toolkit. Обратите внимание, что pt-slave-delay не поддерживает синтаксис многоканальной репликации MariaDB.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/delayed-replication/