开发者社区 问答 正文

常见问题 - 数据备份/恢复 -怎样恢复误删除的数据?


若您不小心删除了RDS数据库的数据,您可以通过克隆实例或临时实例备份丢失的数据,并将其恢复到主实例上。

前提条件


  • 要求实例有一个全备做基础,购买2天以上的实例基本都有。

  • 指定恢复数据的时间点,要求日志备份在上一个全量备份之后一直是开启状态。


恢复数据的方法



恢复较多数据


若误删除的数据较多,请先创建克隆实例或临时实例,然后使用DTS将数据迁移至主实例,详细步骤请参见:

恢复少量数据


若误删除的数据较少,您可以通过如下两种方法来恢复数据:
方法一:

  1. 创建克隆实例或临时实例,详情请参见克隆实例通过临时实例恢复到主实例中的步骤1至步骤6。

  2. 登录克隆实例或临时实例,详情请参见通过DMS登录RDS数据库

  3. 找到丢失的数据。

  4. 导出相关SQL,然后再导入到主实例即可。

方法二:
阿里云的 数据管理(简称DMS)提供的数据追踪功能可以逐条恢复数据,且会自动生成回滚语句,非常便于少量数据的恢复,详细步骤请参见 数据追踪中关于数据恢复的内容。

展开
收起
梨好橙 2018-09-16 23:30:56 1829 分享
分享
版权
举报
阿里云 AI 助理回答

数据库备份与恢复方案概述

在阿里云RDS环境中,如果您不慎删除了数据库中的数据,可以通过以下步骤和方法来恢复数据,确保业务的连续性和数据的完整性。

1. 恢复前的准备条件

  • 全量备份基础:确保您的RDS实例至少有一个全量备份作为恢复的基础。通常,购买并运行超过2天的实例会自动拥有这样的备份。
  • 日志备份状态:如果需要按时间点恢复数据,必须确认自上一个全量备份以来,日志备份功能一直是开启状态。这允许您恢复到任意时间点的数据。

2. 恢复较多数据的方法

  • 克隆或临时实例创建
    • 对于MySQL,您可以创建一个克隆实例,该实例包含原实例某一时间点的所有数据,然后使用DTS(数据传输服务)将数据迁移回主实例。
    • 对于SQL Server、PPAS、PostgreSQL,可以采用临时实例进行类似操作,通过DTS迁移数据至主实例以完成恢复。

3. 恢复少量数据的策略

  • 方法一:克隆实例导出导入

    • 创建一个克隆实例或临时实例,登录后定位到丢失的数据。
    • 导出相关数据为SQL脚本,再将这些脚本导入到主实例中,实现数据的恢复。
  • 方法二:利用DMS数据追踪

    • 阿里云DMS(Data Management Service)提供数据追踪功能,能够针对误删除的操作生成逆向的回滚语句。
    • 通过DMS界面,您可以追踪到特定时间段内的数据变更,并直接执行系统生成的回滚语句来恢复数据,特别适合少量数据的精确恢复。

注意事项

  • 在进行任何恢复操作之前,请确保了解新实例的费用问题,因为数据恢复到新实例会产生相应的费用。
  • 实施恢复时,考虑操作对当前业务的影响,尽量选择在业务低峰期执行。
  • 确保有足够的存储空间用于恢复过程,避免因空间不足导致恢复失败。
  • 对于极速库表恢复等高级功能,需检查并满足特定的前提条件,如开启相应功能、符合支持的实例类型等。

综上所述,根据您误删除数据的量级,可以选择合适的恢复路径,无论是通过克隆或临时实例结合DTS进行大量数据的迁移恢复,还是利用DMS的数据追踪功能精准恢复少量数据,都能有效解决数据丢失的问题。请依据具体情况参考上述步骤操作,确保数据安全无虞。

参考资料

恢复全量数据文档
恢复库表文档

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答