启用本地写入转发 - Amazon Aurora

启用本地写入转发

原定设置情况下,Aurora MySQL 数据库集群不启用本地写入转发。您在集群级别而不是在实例级别启用本地写入转发。

重要

您还可以为使用二进制日志记录的跨区域只读副本启用本地写入转发,但写入操作不会转发到源 AWS 区域。它们会被转发到二进制日志只读副本集群的写入器数据库实例。

仅当您有写入辅助 AWS 区域中的二进制日志只读副本的应用场景时,才使用此方法。否则,最后可能会出现“分裂大脑”的情况,即复制的数据集彼此不一致。

除非绝对必要,否则我们建议您对全局数据库使用全局写入转发,而不是对跨区域只读副本使用本地写入转发。有关更多信息,请参阅 在 Amazon Aurora Global Database 中使用写入转发

使用 AWS Management Console,在创建或修改数据库集群时,选中只读副本写入转发下的开启本地写入转发复选框。

要使用 AWS CLI 启用写入转发,请使用 --enable-local-write-forwarding 选项。当您使用 create-db-cluster 命令创建新的数据库集群时,此选项将起作用。当您使用 modify-db-cluster 命令修改现有数据库集群时,它也起作用。您可以结合这些相同的 CLI 命令使用 --no-enable-local-write-forwarding 选项来禁用写入转发。

以下示例创建了一个启用写入转发的 Aurora MySQL 数据库集群。

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.04.0 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

然后,您可以创建写入器和读取器数据库实例,以便您可以使用写入转发。有关更多信息,请参阅 创建 Amazon Aurora 数据库集群

要使用 Amazon RDS API 启用写入转发,请将 EnableLocalWriteForwarding 参数设置为 true。当您使用 CreateDBCluster 操作创建新的数据库集群时,此参数起作用。当您使用 ModifyDBCluster 操作修改现有数据库集群时,它也起作用。您可以通过将 EnableLocalWriteForwarding 参数设置为 false 来禁用写入转发。

为数据库会话启用写入转发

aurora_replica_read_consistency 参数是启用写入转发的数据库参数和数据库集群参数。您可以为读取一致性级别指定 EVENTUALSESSIONGLOBAL。要了解有关一致性级别的更多信息,请参阅写入转发的读取一致性

以下规则适用于此参数:

  • 原定设置值为 ''(null)。

  • 仅当您将 aurora_replica_read_consistency 设置为 EVENTUALSESSIONGLOBAL 时,写入转发才可用。此参数仅适用于启用了写入转发的数据库集群的读取器实例。

  • 您不能在多语句事务内设置此参数(如果为空)或取消其设置(如果已设置)。在此类事务中,您可以将其从一个有效值更改为另一个有效值,但我们不建议执行此操作。