81

我最近降级了我的 EC2 实例。我无法再连接到 RDS。我认为可能是内部 IP 不同,现在登录名附加到该特定 IP。我一直无法弄清楚。我希望能够从快照中获取备份。有没有办法通过 AWS 下载它?

4

7 回答 7

71

您无法下载 RDS 快照。但是,您可以连接到它并导出您的数据库。除非您错误地设置了安全组(将端口打开到 IP 而不是另一个安全组),否则降级您的实例不会影响连接。

于 2013-02-17T00:54:39.420 回答
34

接受的答案不再是最新的。您可以使用 AWS 控制台,而不是使用命令行工具。

导航到 RDS -> 快照 -> 手动/系统 ->

选择快照 -> 操作 -> 导出到 S3

通过 S3 在大多数生产环境中很常见,因为您无法直接访问数据库实例。

具有导出到 S3 的 AWS RDS 控制台

于 2020-01-29T21:15:20.677 回答
12

除了datasage答案。

作为生产实例的一个选项,您可以在 RDS 中创建只读副本并从此副本进行转储。您可以通过这种方式避免冻结生产数据库。

我们将此方案用于 PostgreSQL + pg_dump。希望它对其他人也有帮助。

于 2017-05-21T10:44:09.730 回答
4

我用:

pg_dump -v -h RDS_URL -Fc -o -U username dbname > your_dump.sql

于 2019-10-07T11:00:32.030 回答
2

我还需要这样做,所以我通过登录到有权访问数据库的应用服务器来创建数据库(MySQL)的转储。然后我使用 scp 将转储下载到本地计算机。我用了:

mysqldump -uroot -p -h<HOST> --single-transaction <DBNAME> > output.sql
于 2018-04-15T19:38:33.057 回答
1

如果您不需要下载快照而只想与不同的 AWS 账户 ID 共享,另一种选择是共享您的快照。

于 2018-07-03T04:35:26.193 回答
1

听起来您的 RDS 位于具有安全组和 ACL 的私有子网内的 VPC 内。解决您的问题的唯一方法是在允许所有连接的默认 VPC 中拍摄快照并从中创建一个新的数据库实例。之后,您使用数据库客户端或 CLI 进行备份经典备份。

于 2019-04-05T23:25:08.717 回答