无需创建本地文件,即可将 mysql 数据库备份上传到 Amazon S3 或 Glacier

无需创建本地文件,即可将 mysql 数据库备份上传到 Amazon S3 或 Glacier

是否有一种工具可以将 Mysql 数据库备份到 Amazon S3 或 Amazon Glacier,而无需创建包含数据库内容的本地文件?

类似这样的:

mysqldump -u root -ppass -h host --all-databases | magic-s3-tool s3-bucket backup-yyyy-mm-dd.sql

这个神奇的工具会使用管道数据,将备份数据直接传输到 S3,而无需创建本地文件。

编辑:

我的目标是避免使用具有巨大磁盘的虚拟机来运行备份过程。

答案1

你可以使用这个:

mysqldump \
    --host=127.0.0.1 --port=1234 \
    --user='username' --password='password' \
    --single-transaction --routines --triggers --compress --compact \
    --databases '<database name>' | gzip | aws s3 cp - s3://'<bucket name>'/'<database name>'.sql.gz

答案2

有一个工具https://github.com/vsespb/mt-aws-glacier可以执行此操作(仅限 Amazon Glacier)。请参阅--stdin文档中的选项。

请注意,此操作将阻塞您的 mysqldump(如果网络是瓶颈),这可能会导致 mysql 锁定等问题。

相关内容