关于数据库:使用NineData构建任意时间点PITR数据恢复能力

58次阅读

共计 1417 个字符,预计需要花费 4 分钟才能阅读完成。

在以后数字化经济的时代下,数据成为企业的要害资产。但因数据误删、服务器故障、病毒入侵等起因导致数据失落影响业务,会对公司造成重大损失,所以如何保证数据资产的平安、稳固及可用,是企业必须思考的事件。

在日常工作中,数据被误删的起因有很多,如:误操作、程序 bug、病毒等,也正因这样,时不时会传出某某公司数据被误删的新闻。如果数据被误删,须要将数据库复原到事变产生前的那一刻,这个操作过程不仅简单,还要依赖经验丰富的 DBA 来进行复原。那如何能疾速的进行任意工夫点复原(Point-in-time Recovery)呢?NineData 推出的 复原形式(按工夫点、备份集)很好的解决下面说的问题,在解放了 DBA 简单的手动操作外,也不必放心“删库跑路”的事件产生。

1、任意工夫点复原

▋复原流程

NineData 实现基于工夫点复原(PITR)的过程如下:

  • 新增新的一个数据库实例,为复原所用,也能够用本地实例(须要批改复原的库名);
  • 找到误删操作之前的最近一次全量备份,复原到新实例;
  • 回放全量备份之后的 BINLOG,到误删操作之前的工夫点为止。

2、如何应用指定工夫点的复原

▋环境阐明

应用指定工夫点复原性能前,须要先应用 NineData 的备份性能,先备份出一个类型为「表构造 + 全量数据 + 日志数据」的备份集。如果您曾经通过 NineData 的备份性能实现了一个数据库的备份,那么只须要简略的几步,就能够实现指定工夫点的复原了。

  • 已有的备份集的备份类型:表构造 + 全量数据 + 日志数据
  • 如果用户数据库「backup_resotre_db」下有 3 张表「user_info、user_info_x、user_info_y」

▋复原阐明

  • 18:22 分,用户把表「user_info」给 DROP 掉了(全量备份中该表只有 1 条记录,DROP 的时候,该表有 3 条记录,有 2 条记录须要通过增量复原),此时业务呈现报错,须要紧急进行复原。即便通过业余的 DBA 同学来进行复原,也须要大量的手动操作进行全量 + 增量复原,如果在进行增量复原期间遇到解析 binlog 异样(如字符集报错),还会节约更多的工夫解决,导致 RTO 工夫不可控。如果应用 NineData 的指定工夫点恢复能力,那么只须要简略的几步,就能够实现指定工夫点的复原了。

a. 创立复原工作

依照要求,先抉择要复原的源数据实例和备份工作,而后再抉择复原到的工夫点(执行 DROP 操作前的工夫)。

b. 抉择要复原的对象,能够复原整个库,也能够抉择复原被 DROP 的表。

c. 抉择要复原到哪个指标数据库,能够是新数据源,也能够是以后的数据源(须要批改复原后的数据库名)。

d. 预查看步骤中会进行相干的字符集、大小写敏感、时区等要害我的项目的查看,确保恢复正常。

e. 启动工作后,能够看到工作的相干信息,直到工作实现。

f. 数据恢复实现。

通过上面对「任意工夫点复原」的阐明,能够看到在 NineData 上简简单单的几步操作,就能轻松的实现数据任意工夫点复原的能力。在缩小 RTO 的同时,也缩短了运维人员解决数据恢复的工夫,最终爱护了企业的外围数据。

小结

通过这篇介绍,能够理解到如何应用 NineData(www.ninedata.cloud/backup),疾速简略的实现任意工夫点数据恢复的能力。另外,NineData 推出的备份数据查问(全量、按工夫点)和 数据变更轨迹查问 性能,也能很好的解决数据误删复原的问题,无效爱护企业的外围数据,为企业在数据安全上构筑起最初一道防线。

正文完
 0