数据库回档解决方案

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由腾讯云数据库 TencentDB 发表于云+技术周刊特别版

作者介绍:李明,腾讯云数据库架构师华南区负责人,曾在某专业数据库服务商、51job任职DBA。

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

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

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

Redis

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

1、恢复实例

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

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

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

img

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

img

2、恢复指定Key

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

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

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

img

  1. 输入需要从备份中恢复的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

TencentDB For SQL Server完美支持Windows平台的.NET架构,附带微软企业版许可授权,大大节约企业成本。TencentDB for SQL Server的全量备份和日志备份保存7天,因此可以回档到7天内的任意时刻。

1、回档

1.进行实例详情页,点击回档按钮

img

2.设置需要回档的数据库,回档时间和是否覆盖原库,并进入下一步

img

3.确认设置的参数后,点击“回档”按钮,启动回档任务

img

4.实例状态变成“任务执行中”,可在任务列表中查看回档进度

img

5.回档成功,由于之前选择不覆盖原库,因此可以在数据库管理页看到生成的复制库

img

注意:回档目前仅支持在本地实例进行,可以选择覆盖原库或生成一份复制库。如果选择生成一份复制库,则需要注意回档后的磁盘空间不能超过实例可用的磁盘空间,否则会出现回档失败

2、回档原理

原理:

img

备份服务:

每天发起1次完整备份,20分钟发起1次日志备份

问答

有哪些常见的数据层容灾架构?

相关阅读

关于客户“前沿数控”数据完整性受损的技术复盘

就算云厂商水逆了,服务也不能倒

软件领域没有银弹 —— 建立正确的云计算认知

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1180540?fromSource=waitui

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

海量技术实践经验,尽在云加社区! https://cloud.tencent.com/developer?fromSource=waitui

posted @ 2018-08-17 11:32  腾讯云开发者  阅读(2588)  评论(0编辑  收藏  举报