7

是否可以/建议创建只能访问 RDS MySQL 只读副本而不访问主数据库服务器的用户?我有一些我想授予访问权限的高级用户,以便他们可以运行运行缓慢的查询,但不想让他们访问主生产数据库本身。尝试直接在服务器上执行此操作,我得到了ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement,所以猜测我必须在 db 参数组或类似的地方执行此操作。无论如何,想法?

4

3 回答 3

3

您不应仅在只读副本中创建用户。

对于 RDS 来说,主实例和副本实例具有相同的数据集至关重要,因此不可能只在 RR 中而不在主实例上拥有用户(或至少不建议)。

除了副本在 RDS 中的工作方式之外,一个原因是在故障转移的情况下,副本可以成为主副本并且角色将被更改

于 2017-04-25T13:59:47.380 回答
1

您可以在只读副本中添加或删除用户。这可以通过 CREATE USER 的常用方式实现。但这并不可取,因为只读副本和主副本应始终保持同步,因此如果主副本出现故障,则可以将只读副本提升为主副本。

于 2020-04-10T07:13:03.897 回答
0

您可以通过将您为数据库实例创建的数据库参数组的 read_only 参数设置为 false 来将 Amazon RDS 数据库实例只读副本配置为读/写。

您不能修改默认数据库参数组的参数设置;您必须创建自己的数据库参数组才能更改参数设置的默认值。

https://aws.amazon.com/premiumsupport/knowledge-center/rds-read-replica/

执行此操作时要小心,在创建用户后,立即将其放回 read_only。如果您曾经在主服务器上创建具有相同用户名/主机对的用户,复制可能会停止,因为这会产生冲突。

于 2016-09-17T00:06:38.620 回答