

# 将只读副本提升为 Aurora MySQL 的数据库集群
<a name="AuroraMySQL.Replication.CrossRegion.Promote"></a>

 可将 Aurora MySQL 只读副本提升为独立的数据库集群。提升 Aurora MySQL 只读副本时，其数据库实例将在重启后变得可用。

 通常，如果源数据库集群出现故障，可以作为数据恢复方案将 Aurora MySQL 只读副本提升为单独数据库集群。

 为此，请先创建只读副本，然后监控源数据库集群的故障。如果出现故障，请执行以下操作：

1.  提升只读副本。

1.  将数据库流量定向到提升的数据库集群。

1.  将提升的数据库集群作为源，创建替代只读副本。

 在提升只读副本时，只读副本将成为独立的 Aurora 数据库集群。提升过程可能需要几分钟或更长时间才能完成，具体时间取决于只读副本的大小。将只读副本提升为新数据库集群后，它将与任何其他数据库集群相同。例如，可从中创建只读副本并执行时间点还原操作。还可以为数据库集群创建 Aurora 副本。

 由于经过提升的数据库集群不再是只读副本，因此不能再使用它作为复制目标。

 以下步骤说明将只读副本提升为数据库集群的一般过程：

1.  停止向只读副本源数据库集群写入任何事务，然后等待对只读副本完成所有更新。在源数据库集群完成数据库更新后，只读副本才会进行数据库更新，且这种复制滞后可能会有很大差异。使用 `ReplicaLag` 指标确定只读副本完成所有更新的时间。`ReplicaLag` 指标记录只读副本数据库实例滞后于源数据库实例的时间量。当 `ReplicaLag` 指标达到 `0` 时，即表示只读副本已赶上源数据库实例进度。

1.  使用 Amazon RDS 控制台上的 **Promote**（提升）选项、AWS CLI 命令 [promote-read-replica-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html) 或 [PromoteReadReplicaDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html) Amazon RDS API 操作来提升只读副本。

    选择 Aurora MySQL 数据库实例来提升只读副本。在提升只读副本后，Aurora MySQL 数据库集群将被提升为单独数据库集群。故障转移优先级最高的数据库实例将被提升为数据库集群的主数据库实例。其他数据库实例将变为 Aurora 副本。
**注意**  
 提升过程需要几分钟才能完成。在提升只读副本时，会停止复制并重启数据库实例。完成重启后，只读副本即可作为新数据库集群使用。

## 控制台
<a name="AuroraMySQL.Replication.CrossRegion.Promote.Console"></a>

**将 Aurora MySQL 只读副本提升为数据库集群**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1.  在控制台中，选择 **Instances (实例)**。

    此时将显示**实例**窗格。

1.  在 **Instances (实例)** 窗格中，选择要提升的只读副本。

    只读副本将显示为 Aurora MySQL 数据库实例。

1.  对于**操作**，选择**提升只读副本**。

1.  在确认页面上，选择 **Promote read replica**（提升只读副本）。

## AWS CLI
<a name="AuroraMySQL.Replication.CrossRegion.Promote.CLI"></a>

 要将只读副本升级为数据库集群，请使用 AWS CLI [promote-read-replica-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html) 命令。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws rds promote-read-replica-db-cluster \
    --db-cluster-identifier mydbcluster
```
对于 Windows：  

```
aws rds promote-read-replica-db-cluster ^
    --db-cluster-identifier mydbcluster
```

## RDS API
<a name="AuroraMySQL.Replication.CrossRegion.Promote.API"></a>

 要将只读副本提升为数据库集群，请调用 [PromoteReadReplicaDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html)。