我在Amazon RDS上托管了我的MySql数据库,它有最后一个自动快照。 (例如昨天午夜)。现在情况是,我已经从一个非常重要的表中意外删除了一些记录,并希望恢复它。自昨天午夜起我没有额外的备份。 (如前所述)。现在如何在不停机的情况下恢复数据? 如何使用时间点数据恢复? 如果有人需要更多信息,请告诉我,并对我糟糕的解释表示抱歉。
答案 0 :(得分:7)
时间点恢复允许您根据实例上存在的数据创建其他 RDS实例您选择的任何特定时间点最早可用的自动备份,大约5分钟前。您所要做的就是选择所需的日期和时间。
您的正在运行的实例没有中断或更改。
该过程创建一个新实例,您连接到该实例,收集所需的数据,以便按照应有的方式恢复生产系统,然后销毁新实例。或者,根据您的错误,您还可以将应用程序切换到这个新实例并销毁旧实例,尽管这似乎不太可能是您想要做的。但你可以做任何一件事。
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
我从昨天午夜起没有额外的备份。
时间点恢复并不关心。 RDS保留快照以及一个完整的,带时间戳的日志,记录在快照之间的所有内容。这些日志存档在您无法访问的区域......但它们就在那里。 RDS将自动加载早于您选择的时间点的最新快照,然后使用日志将新实例的数据及时推送到目标时间。当该过程完成后,您的新实例将准确包含您选择的时间点上旧实例上的数据。
假设我有一个表在午夜包含10条记录。它存在于备份/快照中。
不要再考虑快照中的内容了。这没关系。
第二天早上,我在晚上10点又添加了5条记录。半小时后(10:30)我先前删除了2条记录。
执行时间点恢复,选择10:00到10:30之间的任何点 - 记录在您的数据库中的时间点。
即时恢复会创建一个新实例,其中包含与您选择时相同的所有数据。手动连接到该新实例,获取丢失的行,将其重新插入您的live / main / production数据库,然后可以销毁新创建的实例,因为它不再需要。
不要认为这个过程很复杂或困难。