能否将 MySQL 转储文件从 S3 存储桶恢复到 RDS 实例?

Mar*_*k B 6 mysql amazon-s3

我正在研究将常规 MySQL 转储运行到 S3 存储桶作为灾难恢复策略的一部分(部分原因是目前入站数据传输的零成本!)。如果发生灾难,我想将转储文件从 S3 恢复到新的 RDS 实例。尽管进行了广泛的搜索,但我找不到任何这样的例子。有谁知道这是否可能?

为了提供一些上下文,它是一个 500GB 写重读轻读 24x7 MySQL 数据库。我计划使用 MySQL 复制到从站,然后我们可以从中获取转储以在主机出现故障的情况下发送到 S3(我们为复制主站和从站使用相同的托管服务提供商,尽管它们位于不同的数据中心)。

小智 5

您可以在 CLI(“-”)上使用AWS CLI 工具和 STDIN:

mysql -u db_user -ppassword database_name < aws s3 cp s3://mysqldump_bucket_name/mysqldump.sql -
Run Code Online (Sandbox Code Playgroud)

命令的-一部分aws s3 cp将输出通过管道传输到 mysql 读取的 STDOUT。


小智 1

当我尝试将我的计算机中运行的 mysql 服务器备份到 RDS mysql 时,它对我有用。(我的机器运行的是Windows,但它也应该适用于Linux mysql dump)

mysqldump -u root -p --databases 'mydatabase' > dump.sql

然后,只需上传到RDS实例:

mysql -h myrds.com -u myuser -p < dump.sql