对 AWS RDS 只读副本数据库感到困惑。为什么我可以编辑行?

Ask*_*ous 3 database amazon-web-services amazon-rds aurora read-replication

编辑:我不是要编辑只读副本。我是说我确实编辑了它,但我对为什么能够编辑感到困惑。

我在美国西部有一个数据库。我在孟买做了一个只读副本,所以印度的用户不会遇到缓慢的问题。出于好奇,我尝试在 Mumbai 只读副本数据库中编辑一行,希望得到一个拒绝我的写入尝试的安全错误(毕竟它是一个 READ 副本)。但是写操作成功了。这是为什么?这不应该是只读数据库吗?

然后我去了主数据库,希望至少可以同步写入过程,但是我的写入执行没有持续。主数据库现在与地方不同。

我还尝试在主数据库中编辑数据,希望它能将其复制到从数据库,但也失败了。

显然,我不明白什么。

Ele*_*Ele 7

查看来自 Amazon Web Service 的此链接以获得一个想法:

如何将我的 Amazon RDS 数据库实例只读副本配置为可修改?

可能您的只读副本有标志 read_only = false

在此处输入图片说明


修改新创建的参数组,设置如下参数:

  • 在导航窗格中,选择参数组。可用的数据库参数组显示在列表中。
  • 在列表中,选择要修改的参数组。
  • 选择编辑参数并将以下参数设置为指定值: read_only = 0
  • 选择保存更改。

我认为您应该阅读一些有关跨区域只读副本及其工作原理的信息。

使用 MariaDB、MySQL 和 PostgreSQL 数据库实例的只读副本

只读副本滞后受多种因素的影响,包括主实例和辅助实例上的负载、复制的数据量、副本数量(如果它们在同一区域内或跨区域等)。滞后可以延长秒或分钟,但通常不到一分钟。

参考: https : //stackoverflow.com/a/44442233/1715121

关于 RDS 只读副本要记住的事实

  • 在只读副本中,会拍摄主数据库的快照。
  • 只读副本在 Amazon RDS for MySQL、MariaDB 和 PostgreSQL 中可用。
  • Amazon RDS for MySQL、MariaDB 和 PostgreSQL 中的只读副本为 Amazon RDS 多可用区部署提供了补充可用性机制
  • 源数据库和目标数据库之间的所有流量都针对只读副本进行了加密。
  • 您需要在创建只读副本之前启用备份。这可以通过将备份保留期设置为 0 以外的值来完成
  • Amazon RDS for MySQL、MariaDB 和 PostgreSQL 目前允许您为给定的源数据库实例创建最多五个只读副本
  • 可以创建另一个只读副本的只读副本。您可以从现有的第一层只读副本创建第二层只读副本。通过创建第二层只读副本,您可以将部分复制负载从主数据库实例转移到第一层只读副本。
  • 即使从源数据库更新了只读副本,目标副本仍可能由于各种原因而变得不同步。
  • 您可以随时删除只读副本。