0

我有两台 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...
  • 否(主):site-provisioned.cyrnzp...

那怎么做呢?

4

1 回答 1

0

sql_log_bin编辑:不能像特权一样在 AWS RDS 上工作

最简单的方法是在 master 上创建它CREATE USER foo@localhost。这也将复制到从站那里创建一个用户。

然后要删除对 master 的访问权限,SET SESSION sql_log_bin=0; DROP USER foo@localhost. 这sql_log_bin=0意味着同一会话中的所有语句都不会写入二进制日志。不同会话上的所有其他服务器活动仍然被复制。

这样做的结果是从服务器将看不到该DROP USER语句,这意味着foo用户仍然在从服务器上,但不在主服务器上。

于 2018-09-18T01:32:42.960 回答