如何计划要上传到 Simple Storage Service (Amazon S3) 的 Amazon RDS for MySQL 数据库实例的二进制日志文件?

2 分钟阅读
0

我需要将 Amazon Relational Database Service (Amazon RDS) for MySQL 数据库实例二进制文件备份到 Amazon Simple Storage Service (Amazon S3) 中。我如何计划下载文件并将它们同步到 S3 存储桶中?

简短描述

默认情况下,您不能将二进制日志文件从 Amazon RDS for MySQL 数据库实例复制到您选择的 S3 存储桶中。反之,将二进制日志文件下载到 Amazon Elastic Compute Cloud (Amazon EC2) 实例中。然后,使用 cron 作业将文件同步到 S3 存储桶中。

分辨率

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请确保您使用的是最新版的 AWS CLI

1.    在 RDS 数据库实例上启用二进制日志文件保留,以便您可以访问 MySQL 二进制日志。这个示例将保留期设置为 24 小时:

mysql> call mysql.rds_set_configuration('binlog retention hours', 24);

2.    在您的 Amazon RDS for MySQL 数据库实例上运行以下命令。确认二进制日志保留时间参数被正确设置为 24小时(或 1 天):

mysql> call mysql.rds_show_configuration;

预期输出:

+------------------------+-------+-----------------------------------------------------------------------------------------------------------+
| name                   | value | description                                                                                               |
+------------------------+-------+-----------------------------------------------------------------------------------------------------------+
| binlog retention hours | 24    | binlog retention hours specifies the duration in hours before binary logs are automatically deleted.      |
| source delay           | 0     | source delay specifies replication delay in seconds between current instance and its master.              |
| target delay           | 0     | target delay specifies replication delay in seconds between current instance and its future read-replica. |
+------------------------+-------+-----------------------------------------------------------------------------------------------------------+

3.    对于 mysqlmysqlbinlog 命令,在 EC2 实例上安装 MySQL:

$ sudo yum update

$ sudo yum install mysql57

4.    确认您已通过运行以下命令正确安装实用程序:

$ rpm -qa|grep mysql

预期输出:

mysql57-server-5.7.21-2.6.amzn1.x86_64
mysql57-common-5.7.21-2.6.amzn1.x86_64
mysql57-errmsg-5.7.21-2.6.amzn1.x86_64
mysql57-5.7.21-2.6.amzn1.x86_64

5.    创建 S3 存储桶AWS Identity and Access Management (IAM) 用户账户

6.    授予 IAM 用户访问 S3 存储桶的权限

7.    安装 AWS 命令行界面,然后配置 AWS CLI(如果尚未配置)。

8.    从 GitHub 网站中下载 rds-binlog-to-s3 脚本。此脚本将下载二进制日志文件,然后再将文件上传到 S3 存储桶中。

9.    修改脚本权限:

$ chmod 744 rds-binlog-to-s3.sh

10.    使用 AWS CLI 在 EC2 实例上运行 rds-binlog-to-s3 脚本。修改脚本中的 mysqlbinlog 命令,以包含要添加的任何 mysqlbinlog 选项:

$ rds-binlog-to-s3.sh

11.    设置 cron 作业以将二进制日志文件同步到 S3 存储桶中:

$ crontab -e
    
0 0  * * * /home/ec2-user/scheduler/RDS-binlog-to-s3.sh

相关信息

MySQL 数据库日志文件

相关视频

AWS 官方
AWS 官方已更新 2 年前