数据库回档解决方案

作为一名DBA,日常工作中免不了需要做一些救火的事情,比如DB使用人员在使用过程中update、delete手误没有写where条件、游戏程序bug导致玩家装备异常……,此时的你是不需要找一台机器,然后拉取下今天的备份,然后还原,必要的时候还需在解析下binlog,然后在把需要恢复的数据导入到误操作的实例上,是不感觉步骤好繁琐,浪费时间?

若你是一名云数据库DBA且使用的是腾讯云数据库,用控制台点点按钮,后台帮你自动回档到任意时间点(具体参看官网文档),是不是为你节约了时间?这个时间你可以用来泡杯“菊花枸杞茶”、为相关人员普及一下“如何正确使用数据库”等……,把时间浪费在美好的事情上,这才是我们的追求嘛。

本文详细讲解,腾讯云数据库是如何做到让你有时间浪费在美好事情上呢?

Redis

Redis作为当前系统架构中不可或缺的润滑剂,已在各类应用中得到广泛的应用。当前TencentDB for Redis支持整实例恢复、指定key恢复。

1、恢复实例

1) 在”备份与恢复”中,选中需要回档的备份,点击【恢复实例】

2) 在弹出的恢复实例确认框中,输入实例密码,点击【恢复】

注意:此处需要输入的密码为用户设置的实例密码,并非访问实例时所用的<实例ID:实例密码>链接密码

img

3) 实例进入”按备份Id恢复备份中”,可在任务中心查看任务状态,待实例状态进入”实例运行中”即可正常使用

img

2、恢复指定Key

1) 在”备份与恢复”中,选中需要回档的备份,点击【恢复实例】

2) 在弹出的恢复实例确认框中,输入实例密码,点击【下一步】

注意:此处需要输入的密码为用户设置的实例密码,并非访问实例时所用的<实例ID:实例密码>链接密码

img

3) 输入需要从备份中恢复的key,多key之间以英文分号做间隔,点击【完成】,实例进入”按key恢复备份中”状态,可在任务中心查看任务状态,待实例状态进入”实例运行中”即可正常使用

img

img

MySQL

MySQL是数据库产品中目前用户数最大且存储增速最块的品种,TencentDB for MySQL当前支持整实例、选库、选表恢复,误操作的数据会恢复到原实例中。

1、实例回档

1)进入所需要回档的实例后,点击【回档】按钮。

img

2)点击进入回档提交页面,选择所需要回档的库或表(如需回档整个实例,请全选),以及需要回档至的时间点(单实例回档),确认无误后提交回档任务。

img

3)回档完成后,可在原实例中看到回档后的新库表。

2、批量回档

img

1)勾选所需要回档的实例后,选择【更多操作】->【批量回档】。

2)点击进入回档提交页面,选择所需要回档的库或表(如需回档整个实例,请全选),以及需要回档至的时间点(单实例回档),确认无误后提交回档任务。

img

回档完成后,可在原实例中看到回档后的新库表。

3、查看回档日志和进度

回档过程中,可实时查询回档的进度.

img

4、回档原理 1.原理

最近一次冷备+对应的binlog 回档到指定时间点

2.流程

img

1.冷备系统每天会从MySQL从机导出数据到冷备系统;

2.回档时,首先从回档系统申请一台回档实例,然后从冷备系统导出冷备数据导入临时实例(根据回档方式导入不同数据);

3.回档实例和MySQL主实例建立主从关系,并设置需要回档的时间和数据库表;

4.将回档后的数据库表拷贝到MySQL主实例;

3.功能

1.支持主实例回档,不支持只读实例和灾备实例回档

2.支持7天内任意时间点回档,具体时间有MySQL实例的冷备和Binlog决定

3.支持三种回档方式:

o普通:导入该实例的全量备份,再在对选中的库、表进行回档。该回档模式无限制,但回档速度较慢。

o快速:仅导入所选中库级别的备份和binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败

o极速:仅导入所选中表级别的备份和binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败

4.限制

1.目前只支持指定库表回档,回档后的库表会回写到源实例(需要重命名),不支持整实例回档

2.一次最多选择任意数量个实例 (需要限制一次选择的最大实例数量)

3.所有回档实例总共最多选择20个库表 (需要改成一个库表最大选择20个库表)

4.选择的库表只能包含数字、字母、下划线

5.并发控制:流程限制总共同时发起10个任务,每个AppId同时发起5个任务

5.注意点

1.如果需要回档的库表不存在,在页面操作时,需要先创建库表,再选择。

SQL server

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsffwd.html