我有两台 RDS mysql 服务器正在运行,一台是主(主)rds 服务器,另一台是只读从属服务器,它是通过 RDS 控制台创建的。
如何为只读计算机创建一个无法访问主主机的新用户帐户?例如,当我运行以下命令时:
CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password';
我得到:
The MySQL server is running with the --read-only option so it cannot execute this statement
我希望用户能够访问以下内容:
- 是(只读):site-read.cyrnzp...
- NO(主):site-provisioned.cyrnzp...
那么这将如何完成?
最佳答案
编辑:不适用于 AWS RDS,因为 sql_log_bin
具有特权
最简单的方法是在主服务器上创建它CREATE USER foo@localhost
。这将复制到从站,并在那里创建用户。
然后要删除对主服务器的访问,SET SESSION sql_log_bin=0;删除用户 foo@localhost
。 sql_log_bin=0
表示同一 session 中的所有语句都不会写入二进制日志。不同 session 上的所有其他服务器事件仍会被复制。
这样做的结果是从属服务器不会看到DROP USER
语句,这意味着foo
用户仍然存在于从属服务器上,但不在主服务器。
关于mysql - AWS RDS只读机器--如何添加新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377662/