我有两个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
我希望用户能够访问以下内容:
是(只读):站点已读。cyrnzp。。。
否(主):站点已设置。cyrnzp。。。
那怎么办呢?
1条答案
按热度按时间nimxete21#
编辑:在aws rds上不起作用
sql_log_bin
享有特权最简单的方法是在主机上创建它
CREATE USER foo@localhost
. 这将复制到从属服务器,并在那里创建一个用户。然后移除主机上的访问权限,
SET SESSION sql_log_bin=0; DROP USER foo@localhost
. 这个sql_log_bin=0
意味着同一会话中的所有语句都不会写入二进制日志。不同会话上的所有其他服务器活动仍然是复制的。这样做的结果是从属服务器将看不到
DROP USER
声明,意思是foo
用户仍在从属服务器上,但不在主服务器上。