SQL闪回
更新时间:2024-03-29
概述
本文介绍了SQL闪回功能的使用方法。
背景介绍
针对SQL误操作,通过回滚SQL与原始SQL两种方式,提供行级数据的恢复能力。
当在 GaiaDB 上执行误操作SQL(如插入、更新或删除) 后,使用SQL闪回,提供相关的误操作信息,即可从 Binlog 中找到匹配的事件,生成对应的恢复文件,下载后根据需求恢复数据,提升恢复的效率。用户如果想要查询过去一段时间内,执行了哪些SQL,也可以使用此功能。
创建SQL闪回
- 登录GaiaDB管理控制台。
- 在控制台页面左上角,选择集群所在地域,进入“云原生数据库 GaiaDB列表 ”页面。
- 找到目标集群,点击集群名称,进入集群详情页面。
- 点击左侧导航的备份恢复,进入备份恢复页面。
- 点击SQL闪回页签,切换到SQL闪回列表。
- 点击列表上方创建SQL闪回按钮,弹出创建SQL闪回页面,输入创建任务的参数,详情如下表:
参数 | 说明 |
---|---|
任务名称 | 必填,此闪回任务的名称 |
闪回时间范围 | 误操作SQL执行的大致时间范围,开始时间早于误操作SQL开始执行时间,结束时间晚于误操作SQL执行结束时间。为了保证恢复的效率,建议时间范围尽可能精确。 |
闪回粒度 | • 闪回库:闪回整个数据库上执行的SQL操作 • 闪回表:闪回在特定数据库中的特定表上执行的SQL操作 |
选择库表 | 选择执行过误操作SQL的目标库表 |
误操作SQL类型 | 类型可选:插入、更新或删除 |
闪回类型 | • 回滚SQL:逆序遍历BINLOG中的匹配事件,对INSERT、UPDATE、DELETE事件进行逆反操作,生成的SQL。 使用方式:在原表执行,对现有数据进行覆盖性恢复。适用于当需要恢复的数据没有冲突或者接受部分冲突数据被覆盖时使用。 • 原始SQL:顺序遍历BINLOG中的匹配事件,对INSERT、UPDATE、DELETE事件进行全记录的镜像构造处理,生成的SQL。 使用方式:在临时表执行,写入误操作前的原始数据,与现有数据进行对比,分析冲突后决定最终数据。适用于当需要恢复的数据与当前数据存在冲突时使用。 |
7.点击提交按钮,完成SQL闪回任务创建,您之后可在列表查询任务进程。
查看 SQL 闪回详情
- 登录GaiaDB管理控制台。
- 在控制台页面左上角,选择集群所在地域,进入“云原生数据库 GaiaDB列表 ”页面。
- 找到目标集群,点击集群名称,进入集群详情页面。
- 点击左侧导航的备份恢复,进入备份恢复页面。
- 点击SQL闪回页签,切换到SQL闪回列表。
- 在SQL闪回列表的操作列,点击需查询的闪回任务名称。可以查看到闪回的库表、恢复总行数、时间范围等。
说明:
- 闪回任务生成24小时后,暂不支持下载闪回任务的SQL。
- 若当前闪回任务未检测到数据变更,即恢复总行数为0,则不可下载SQL进行恢复,请您检查闪回范围。