mysql数据库副本_为 Amazon Aurora MySQL 数据库实例创建只读副本

如何为 Amazon Aurora MySQL 数据库实例创建只读副本?

上次更新日期:2020 年 12 月 9 日

我有一个 Amazon Aurora MySQL 集群。我想为 Aurora 数据库集群创建区域内或跨区域只读副本。我该如何操作?

简短描述

您可以使用 Amazon Aurora 副本作为故障转移目标。这意味着,如果您的主数据库实例发生故障,Aurora 副本会升级为主实例。创建跨区域只读副本可提高发生罕见的 Amazon RDS 区域故障时的可用性。

Aurora 副本也适用于读取扩展,因为它们完全专供集群卷上的读取操作。主实例管理写入操作。由于集群中的所有数据库实例都共享集群卷,因此复制每个 Aurora 副本的数据所需工作最少。

注意:Aurora 副本不使用二进制日志复制(RDS MySQL 只读副本使用)。因此,主实例写入更新后的延迟通常不到 100 毫秒。这是使用 Amazon Aurora 的优势,因为与基于 MySQL 的复制相比,复制延迟通常较低且可预测。如果您拥有不同的跨区域的读取流量,则跨区域复制功能非常有用。使用本文中的步骤为 Aurora MySQL 数据库集群创建区域内或跨区域只读副本。

注意:这些步骤不适用于 Aurora Serverless 或 Aurora 多主集群。

解决方法

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

使用 Amazon RDS 控制台为 Aurora MySQL 集群创建区域内只读副本

注意:您无法为未加密的 Aurora 数据库集群创建加密的 Aurora 副本。您无法为加密的 Aurora 数据库集群创建未加密的 Aurora 副本。

1.    打开 Amazon RDS 控制台,然后从导航窗格中选择 Databases(数据库)。

2.    选择要向其添加新数据库实例的数据库集群。

3.    在 Actions(操作)部分中,选择 Add reader(添加阅读器)。

4.    在 Add reader(添加阅读器)页面上,自定义 Aurora 副本的选项。

5.    选择 Add reader(添加阅读器)以创建副本。

使用 AWS CLI 为 Aurora MySQL 集群创建区域内只读副本

要使用 AWS CLI 在数据库集群中创建 Aurora 副本,请运行 create-db-instance 命令。使用 --db-cluster-identifier 选项包括数据库集群的名称。您还可以使用可用区参数为 Aurora 副本指定可用区 (AZ)。

此示例命令为 Aurora MySQL 创建只读副本(相同区域且兼容 Aurora MySQL 5.7)。

Linux、macOS 或 Unix:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \

--db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r4.large \

--availability-zone us-west-2a

Windows:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^

--db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r4.large ^

--availability-zone us-west-2a

注意:如果要为兼容 Aurora MySQL 5.6 的集群创建只读副本,请在此命令中将 --engine parameter 修改为--engine aurora。

为 Aurora MySQL 集群创建跨区域只读副本

在与源数据库集群不同的 AWS 区域中创建只读副本具有一些优势。这可以提高灾难恢复能力,并让您将读取操作扩展到距离用户更近的区域。它还可以使您更轻松地从一个 AWS 区域迁移到另一个 AWS 区域。

注意:在创建跨区域只读副本之前,请在源 Aurora MySQL 数据库集群上启用二进制日志记录。跨区域复制使用 MySQL 二进制复制在跨区域只读副本集群上重放更改。

在数据库集群上启用二进制记录

1.    要在数据库集群上启用二进制日志记录,

2.    更新源数据库集群的 binlog_format 参数。这是默认集群参数组中的群集级别参数。

3.    如果数据库集群使用默认数据库集群参数组,请创建一个新的数据库集群参数组,以修改 binlog_format 设置。

4.    最佳做法是将 binlog_format 设置为 MIXED。如果需要特定的二进制日志格式,也可以将 binlog_format 设置为 ROW 或 STATEMENT。

5.    重新启动 Aurora 数据库集群以使更改生效。

使用 Amazon RDS 控制台创建跨区域集群

1.    打开 Amazon RDS 控制台,然后选择托管源数据库集群的 AWS 区域。

2.    从导航窗格中,选择 Instances(实例)。

3.    选择要为其创建跨区域只读副本的数据库实例的复选框。

4.    对于 Actions(操作),选择Create cross region read replica(创建跨区域只读副本)。

5.    在 Create cross region read replica(创建跨区域只读副本 )页面上,选择跨区域只读副本数据库集群的选项设置。

使用 AWS CLI 创建跨区域集群

使用 AWS CLI 创建跨区域集群是一个两步骤过程。首先,使用 create-db-cluster 调用在目标区域中创建集群本身。然后,使用 create-db-instance调用来创建读取器实例。

此示例使用 Linux、macOS 或 Unix 创建跨区域副本,并且兼容 Aurora MySQL 5.6。

1.    通过运行与以下内容类似的命令来创建集群:

aws rds create-db-cluster \

--db-cluster-identifier sample-replica-cluster \

--engine aurora \

--replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster

2.    验证集群是否可用:

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.    创建读取器:

aws rds create-db-instance \

--db-cluster-identifier sample-replica-cluster \

--db-instance-class db.r3.large \

--db-instance-identifier sample-replica-instance \

--engine aurora

要在 Windows 上使用 CLI 创建相同的内容,请使用相同步骤,但使用 ^符号而不是 \ 作为行分隔符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值