我正在使用AWS RDS for MySQL。在备份方面,我了解亚马逊提供两种类型的备份 - 自动备份和数据库(DB)快照。区别在于here。但是,我仍然感到困惑:我应该只使用自动备份还是自动和手动(数据库快照)?
你觉得伙计们怎么样?你自己的设置是什么?我从其他人那里听说,当数据库实例崩溃时,由于某些不可恢复的数据库导致自动备份不可靠,因此数据库快照是拯救您的方法。如果我将每日数据库快照设置为与自动备份相似的设置,我将付出很多钱。希望任何人都可以启发我或建议我正确的设置。
答案 0 :(得分:33)
从个人经验来看,我建议同时做这两件事。我将自动备份设置为8天,然后我还有一个脚本,每天拍摄一次快照并删除超过7天的快照。原因是因为根据我的理解,在某些情况下您无法从自动备份中恢复。例如,如果您不小心删除了RDS实例并且未拍摄最终快照,则无法访问已完成的自动备份。但是打开自动备份也很好,因为它可以为您提供时间点恢复。
希望这有帮助。
修改强>
要回答您的评论,我在脚本创建快照时会使用某种命名约定。类似的东西:
autosnap- 实例名 -2012-03-23
当它进行清理时,它会检索所有快照,查找该命名约定,解析日期,并删除任何早于特定日期的文件。
我认为您还可以查看快照创建日期,但这就是我最终的结果。
答案 1 :(得分:28)
仅仅从个人经验来看,昨天我不小心删除了一张桌子,不得不从RDS快照恢复。最新的快照只有10分钟,这是完美的。但是,Amazon RDS需要大约3个小时才能在线获取快照,在此期间,我们网站的受影响部分完全脱机。
因此,如果您需要快速恢复,请不要依赖RDS备份。
请记住,您无法下载快照以便查看数据库转储。您唯一的选择是等待它加载到新的数据库实例。因此,如果您只想恢复单个表,RDS备份可能会使其成为一个非常痛苦的过程。
对此亚马逊没有责任 - 他们很棒。但是在计划时要记住一些事情,因为这对我们来说是一种学习经历。