通过一个完整的数据备份以及后续一段时间的 binlog 备份,就可以将特定库表恢复到任意时间点。在知晓误操作发生的时间点后,可以通过此方式,将误操作的数据库或表恢复到误操作发生之前。
前提条件
备份列表由数据备份文件和日志备份文件产生,自动备份设置请参见 自动备份。
集群状态处于运行中。
注意事项
库表回档需明确指定所需回档的库表,若无法确定所有涉及的库表,建议 回档 到一个新集群,确认后再迁移回原集群。
若需回档的库表在指定回档的时间点不存在,库表回档会失败。
若需回档库表已不存在或被误删,需要先登录数据库并创建库表,再使用控制台进行回档操作。
若指定回档库表存在主外键约束,请确保回档过程中关联的库表存在,否则库表回档会失败。
单次操作最多支持回档500个库或表。
步骤一、获取误操作的时间点
![](https://qcloudimg.tencent-cloud.cn/image/document/a4b54d9c65c3d29ae09038e82ddf0d45.png)
步骤二、开始库表恢复
1. 登录 TDSQL-C MySQL 版控制台。
2. 在上方选择地域,根据实际控制台视图模式,对应操作如下:
在左侧集群列表,单击目标集群,进入集群管理页。
在左侧集群列表找到目标集群,单击集群 ID 或操作列的管理,进入集群管理页。
![](https://qcloudimg.tencent-cloud.cn/image/document/24a71870c8963d45371d9d04490489f9.png)
3. 在集群管理页面,选择备份管理页,单击回档。
![](https://qcloudimg.tencent-cloud.cn/image/document/41231266a29fa469dc7012ad4b991e5e.png)
4. 在库表回档到原集群页面,设定回档模式为按时间点,选择回档的时间,选择所需回档的库表,并重命名,单击回档。
![](https://qcloudimg.tencent-cloud.cn/image/document/83a608746e219d84e01082ecf7e0cb04.png)
说明:
普通回档:导入该集群的全量备份,再对选中的库、表进行回档。该回档模式无限制,但回档速度较慢。
快速回档:全量备份 + 库级别 binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败。
极速回档:全量备份 + 表级别 binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败。
5. 在弹出的对话框,确认无误后,单击确定发起回档任务。
6. 任务提交后,可单击查看回档任务或在任务列表中查看回档进度和任务详情。
![](https://qcloudimg.tencent-cloud.cn/image/document/25b2d510ccbf9b440e1bb2a4626df21a.png)
7. 回档完成后,可在原集群中看到回档后的新库表,并进行进一步操作。
步骤三、进行数据比对
当库表恢复完成后,用户可以通过 DMC 登录集群,进行数据比对,验证数据。
1. 登录 TDSQL-C MySQL 版控制台。
2. 在集群列表,找到回档后的集群,单击登录。
3. 在登录界面,输入集群的账号和密码,单击登录。
![](https://qcloudimg.tencent-cloud.cn/image/document/07ce4103f0e4fa6e3f33d24325b46ac9.png)
4. 进入 DMC 管理界面后,在左侧通过下拉键选择恢复后的数据库,然后找到误操作的数据,确认其是否已恢复到误操作前,且其他数据也和误操作发生前一致。
![](https://qcloudimg.tencent-cloud.cn/image/document/ea0d368009a40081eb3ee8d6237b6ccc.png)