21.6.9.2 使用 NDB 群集复制进行时间点恢复

时间点恢复(即,自给定时间点以来所做的数据更改的恢复)是在还原完整备份后执行的,该备份将使服务器返回到进行备份时的状态。可以使用本机NDB数据备份(通过在ndb_mgmClient 端中发出CREATE BACKUP进行备份)并还原ndb_binlog_indextable(从使用mysqldump进行的转储)来完成 NDB Clustertable 和 NDB Cluster 复制的 NDB Clustertable 的时间点恢复。 。

要执行 NDB 群集的时间点恢复,必须遵循此处显示的步骤:

此备份应定期更新(甚至每小时一次),具体取决于您的需求。

  • (发生灾难性故障或错误.)

  • 找到最后一个已知的良好备份。

  • 清除数据节点文件系统(使用ndbd --initialndbmtd --initial)。

Note

--initial不会删除 NDB 群集磁盘数据 table 空间和日志文件。您必须手动删除它们。

SELECT @LATEST_EPOCH:=MAX(epoch)
    FROM mysql.ndb_apply_status;
  • ndb_binlog_indextable 中找到与@LATEST_EPOCH对应的最新二进制日志文件(@FIRST_FILE)和位置(Position列值)在该文件中:
SELECT Position, @FIRST_FILE:=File
    FROM mysql.ndb_binlog_index
    WHERE epoch > @LATEST_EPOCH ORDER BY epoch ASC LIMIT 1;

另请参阅第 7.5 节“时间点(增量)恢复”,以获取有关二进制日志,复制和增量恢复的更多信息。