

# Aurora 与 MySQL 之间或 Aurora 与其他 Aurora 数据库集群之间的复制（二进制日志复制）
<a name="AuroraMySQL.Replication.MySQL"></a><a name="binlog_replication"></a><a name="binlog"></a>

Amazon Aurora MySQL 与 MySQL 兼容，因此您可以在 MySQL 数据库与 Amazon Aurora MySQL 数据库集群之间设置复制。此类复制使用 MySQL 二进制日志复制，也称为*二进制日志复制*。如果将二进制日志复制与 Aurora 结合使用，建议您的 MySQL 数据库运行 MySQL 版本 5.5 或更高版本。您可以在 Aurora MySQL 数据库集群为复制源或副本的位置设置复制。您可以使用 Amazon RDS MySQL 数据库实例、Amazon RDS 外部的 MySQL 数据库或其他 Aurora MySQL 数据库集群进行复制。

**注意**  
您不能使用二进制日志复制以复制到某些类型的 Aurora 数据库集群或从中进行复制。特别是，二进制日志复制不可用于 Aurora Serverless v1 集群。如果 `SHOW MASTER STATUS` 和 `SHOW SLAVE STATUS`（Aurora MySQL 版本 2）或 `SHOW REPLICA STATUS`（Aurora MySQL 版本 3）语句不返回任何输出，请检查您使用的集群是否支持二进制日志复制。

您还可以在其他 AWS 区域中的 RDS for MySQL 数据库实例或 Aurora MySQL 数据库集群之间进行复制。跨 AWS 区域执行复制时，请确保您的数据库集群和数据库实例可公开访问。如果 Aurora MySQL 数据库集群位于您的 VPC 的私有子网中，请在 AWS 区域之间使用 VPC 对等。有关更多信息，请参阅 [VPC 中的数据库集群由另一 VPC 中的 EC2 实例访问](USER_VPC.Scenarios.md#USER_VPC.Scenario3)。

如果要在 Aurora MySQL 数据库集群和另一个 AWS 区域中的 Aurora MySQL 数据库集群之间配置复制，您可以在与源数据库集群不同的 AWS 区域 中创建一个 Aurora MySQL 数据库集群作为只读副本。有关更多信息，请参阅 [跨 AWS 区域复制 Amazon Aurora MySQL 数据库集群](AuroraMySQL.Replication.CrossRegion.md)。

使用 Aurora MySQL 版本 2 和 3，您可以在 Aurora MySQL 与为复制使用全局事务标识符（GTID）的外部源或目标之间进行复制。请确保 Aurora MySQL 数据库集群中的 GTID 相关参数具有与外部数据库的 GTID 状态兼容的设置。若要了解如何执行此操作，请参阅 [使用基于 GTID 的复制](mysql-replication-gtid.md)。在 Aurora MySQL 版本 3.01 及更高版本中，您可以选择如何将 GTID 分配给从不使用 GTID 的源复制的事务。有关控制该设置的存储过程的信息，请参阅 [mysql.rds\_assign\_gtids\_to\_anonymous\_transactions（Aurora MySQL 版本 3）](mysql-stored-proc-gtid.md#mysql_assign_gtids_to_anonymous_transactions)。

**警告**  
 在 Aurora MySQL 与 MySQL 之间复制时，请确保仅使用 InnoDB 表。如果有 MyISAM 表需要复制，可以在设置复制之前使用以下命令将其转换为 InnoDB。  

```
alter table <schema>.<table_name> engine=innodb, algorithm=copy;
```

在以下各节中，设置复制、停止复制、扩展数据库的读取、优化二进制日志复制以及设置增强型二进制日志。

**Topics**
+ [为 Aurora MySQL 设置二进制日志复制](AuroraMySQL.Replication.MySQL.SettingUp.md)
+ [停止 Aurora MySQL 的二进制日志复制](AuroraMySQL.Replication.MySQL.Stopping.md)
+ [使用 Amazon Aurora 扩展 MySQL 数据库的读取](AuroraMySQL.Replication.ReadScaling.md)
+ [优化 Aurora MySQL 的二进制日志复制](binlog-optimization.md)
+ [为 Aurora MySQL 设置增强型二进制日志](AuroraMySQL.Enhanced.binlog.md)