介绍

延迟复制就是备库不会实时同步主库数据,而是根据指定的延迟时间进行延迟同步,可以使用备库中的时间点来恢复主库,对于一些特定场景的灾备有意义。
除了在CHANGE MASTER TO命令中指定MASTER_DELAY之外,该过程与设置正常复制完全相同。
在8.0版本之前,通过设置Seconds_Behind_Master的值来实现延迟复制,在MySQL 8.0中,它是通过original_commit_timestamp和immediate_commit_timestamp来实现延迟复制。

  • original_commit_timestamp:主库写入事务(提交)后写入到binary log后,延迟多长时间进行同步,单位微秒
  • immediate_commit_timestamp:是自事务被写入(提交)到直接主服务器的二进制日志,延迟多长时间进行同步,单位微秒

配置

1 配置Slave服务器

mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_DELAY = 3600;
mysql> START SLAVE;

2 查看配置是否成功

mysql> SHOW SLAVE STATUS\G

Centos 7.4 Mysql 8.0 Setting up delayed replication 延迟复制

  • SQL_Delay:Slave服务器必须滞后Master的秒数。
  • SQL_Remaining_Delay:延迟剩余的秒数。当存在延迟时,这是NULL。
  • Slave_SQL_Running_State:SQL线程的状态。

相关文章: