首页 > 解决方案 > Google CloudSQL - 使用多个二进制日志文件进行时间点恢复

问题描述

这个问题与 Google CloudSQL 的第二代实例有关。

当您在 Google 的 CloudSQL 平台上执行时间点恢复时,您必须实际克隆实例,然后指定要前滚的二进制日志文件名和位置。

我不确定这实际上是如何在内部工作的,它是否确定需要首先恢复哪个备份,然后哪些二进制日志文件(如果有)排除了您选择的那个?或者它是否克隆实例的当前状态并回滚到所需的二进制日志文件/位置?

如果自上次备份以来您的链中有多个二进制日志文件,即因为您手动刷新了日志,该怎么办?

假设您在 CloudSQL 中有一个如下所示的链:

Full Backup > mysql-binlog.000001 > mysql-binlog.000002 > mysql-binlog.000003 > Full Backup > mysql-binlog.000004

并且您想恢复到 mysql-binlog.000003 中的恢复点 - 您如何做到这一点,或者您不需要像使用 mysqlbinlog 实用程序进行本机导入时那样指定排除的 binlog 文件?

标签: mysqlgoogle-cloud-platformgoogle-cloud-sqlrecovery

解决方案


您需要恢复到以前的备份,然后选择包含要返回的时间点的 binlog。您需要在 binlog 中找到并选择要还原到的最终点。说明在这里

要回答您的具体问题,您只需选择最新的 binlog(包含时间点的)。你基本上选择备份然后binlog,然后binlog中的点和恢复都是我们做的。


推荐阅读