mysql - 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 文件?
解决方案
您需要恢复到以前的备份,然后选择包含要返回的时间点的 binlog。您需要在 binlog 中找到并选择要还原到的最终点。说明在这里。
要回答您的具体问题,您只需选择最新的 binlog(包含时间点的)。你基本上选择备份然后binlog,然后binlog中的点和恢复都是我们做的。
推荐阅读
- asp.net - 将文本框中的日期转换为 SQL Server 中的日期
- ionic-framework - 为什么离子 v1 事件“beforeLeave”在离开视图后返回数据
- laravel - 在 Laravel 中使用工厂模式
- xcode - ITMS-90171 归档时由 MLModel 文件引起
- python - 在 Python 服务器上解析多部分请求
- python - Python3 挂起 os.walk() 和多处理
- javascript - NativeScript showOverNavigation 不与 ActionBar 重叠
- microsoft-edge - 如何为 Edge 启用漂亮的打印选项
- javascript - 我将如何制作一个记录到已清除内容的通道的清除命令
- java - Spring Boot 网站在本地工作,但无法远程访问