【问题标题】:Create MySQL Replication Delay创建 MySQL 复制延迟
【发布时间】:2026-02-17 01:00:02
【问题描述】:

有没有办法使用 MySQL 强制复制延迟?例如。我希望奴隶比主人晚 12 小时。无论如何要做到这一点?

【问题讨论】:

  • 您可以让 cron 作业每 12 小时手动启用/禁用复制,但我不知道有什么会强制延迟 12 小时。这违反了整个 ACID 设置,因为从站应该尽可能保持同步。

标签: mysql replication database-replication


【解决方案1】:

Maatkit 工具包为此提供了一个工具:

http://www.maatkit.org/doc/mk-slave-delay.html

【讨论】:

    【解决方案2】:

    更新:MySQL 5.6 正在考虑增加复制延迟:

    http://forge.mysql.com/worklog/task.php?id=344

    编辑

    5.6.2 中可用性详细信息的链接:

    http://planet.mysql.com/entry/?id=27133

    【讨论】:

    • 自 2005 年底以来一直在讨论这个问题。将近 6 年后仍然在请求书架上!
    【解决方案3】:

    使用 MySQL-5.6 可以故意延迟 MySQL 从站。在从站,您需要配置:将 MASTER 更改为 MASTER_DELAY=X,其中 X=您希望从站落后于原始主站(正在生成事件的服务器)的秒数。滞后时间是相对于原始主服务器选择事件执行(未提交)的时间计算的。这是文档链接http://dev.mysql.com/doc/refman/5.6/en/replication-delayed.html 您可以在http://dev.mysql.com/worklog/task/?id=344找到有关此功能的完整设计说明

    【讨论】: