Amazon RDS:将快照还原到现有实例

Smx*_*Cde 55 mysql amazon-web-services amazon-rds

我已经创建了我的实例的快照,并在数据库中做了一些不必要的更改.

现在我想从这个快照中恢复我的实例.

当我尝试这样做时 - 除了我拥有的实例之外,它还创建了一个实例.

我指定"数据库实例标识符",然后我得到两个具有相同ID的实例.

所以我的问题是:有没有办法将快照恢复到现有实例?

因为在其他情况下 - 使用不同的端点(主机名)创建新实例,我需要更改我的配置以访问数据库.或者有更好的方法来管理这种情况?

Nav*_*jay 54

否,您无法将现有数据库实例还原到任何手动备份或时间点快照.

您可以使用手动备份或自动快照的唯一方法是使用它创建新的RDS数据库实例.创建新的数据库实例后,您可以在应用程序/代码中更改数据库的端点并删除旧的数据库实例.

底线:您必须更改应用中的配置设置.别无选择.

  • 正确,虽然"现在"是在DNS中配置`CNAME`并将其指向您的RDS主机名的好时机,然后重新配置应用程序以使用cname.然后,在将来,您只需要进行一次更改 - 在DNS中. (21认同)
  • 确实如此,但如果您控制DNS并使用合理的TTL,它不应该是一个交易破坏者.哪种方法最好也取决于应用程序需要重新配置的位置数,或者可能针对一个数据库运行多少个不同的应用程序. (2认同)

Kat*_*tti 51

如果有人来这里(就像我一样)只是在不改变配置的情况下恢复数据.

以下是步骤:

  • 从自动快照或手动创建的快照创建新实例(临时).
  • 从Sequel pro或Mysql工作台连接到此实例.
  • 从此临时实例获取所需数据的SQL转储.
  • 连接您的生产实例并将其还原.
  • 现在删除您创建的临时实例.

  • 这种方法的主要好处是,您可以使用与通常相同的脚本和配置来创建新的生产实例,然后按照步骤建议将数据复制到其中。 (2认同)
  • 这救了我,但要指出显而易见的事情 - 如果你有大量数据,这可能会花费一段时间! (2认同)

小智 18

重命名原始实例并使用原始名称命名新实例

https://aws.amazon.com/blogs/aws/endpoint-renaming-for-amazon-rds/


jac*_*job 8

我今天遇到了同样的问题.我认为您有两个选项而无需更改应用程序的配置设置.

  1. 删除Mike建议的旧实例,然后恢复它.

  2. 首先重命名旧实例(重命名时需要选中"立即应用"选项).

  • 不,我的意思是“重命名旧实例”。然后您可以将备份恢复为原始名称。 (2认同)