我有一个新的主/从配置运行。一切都是愉快的复制。我增加了一个辅助用户,其作用是管理数据库和表。
目前设置了下列特权:
Select\_priv: Y Insert\_priv: Y Update\_priv: Y Delete\_priv: Y Create\_priv: Y Drop\_priv: Y Reload\_priv: N Shutdown\_priv: N Process\_priv: N File\_priv: N Grant\_priv: N References\_priv: Y Index\_priv: Y Alter\_priv: Y Show\_db\_priv: Y Super\_priv: N Create\_tmp\_table\_priv: Y Lock\_tables\_priv: Y Execute\_priv: Y Repl\_slave\_priv: N Repl\_client\_priv: N Create\_view\_priv: Y Show\_view\_priv: Y Create\_routine\_priv: Y Alter\_routine\_priv: Y Create\_user\_priv: N Event\_priv: Y Trigger\_priv: Y Create\_tablespace\_priv: Y account\_locked: N Create\_role\_priv: N Drop\_role\_priv: N
特权已被刷新,从服务器已启动只读。
mysql> select @@read_only;
+-------------+
| @@read_only |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)但是,我仍然可以与用户一起对从服务器执行写操作。
mysql> create database foo;
Query OK, 1 row affected (0.01 sec)
mysql> use foo;
Database changed
mysql> create table `foobar` ( `x` int );
Query OK, 0 rows affected (0.10 sec)
mysql> insert into foobar values (1);
Query OK, 1 row affected (0.06 sec)
mysql> insert into foobar values (2);
Query OK, 1 row affected (0.05 sec)
mysql> select * from foobar;
+------+
| x |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
mysql> drop database foo;
Query OK, 1 row affected (0.06 sec)我的理解是,如果没有“代表奖”和“超级奖”,我就不能做上面的事,或者我是不是做错了什么?
本质上,我希望脚本和守护进程使用此登录永远不会破坏东西,如果我翻转主从和奴隶。
谢谢。
发布于 2018-06-30 08:44:39
就像里克建议的那样,我获得了"CONNECTION_ADMIN“奖。
移除它似乎已经修复了它:
create database foo;
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement发布于 2018-07-09 15:02:38
@Rossi,你不需要更新你的"CONNECTION_ADMIN“特权就能让你的奴隶只为你这样的超级用户阅读。
您可以设置super_read_only (可从MySQL 5.6.21中获得),并且您的服务器将不允许任何更新,即使对拥有超级特权的用户也是如此。
https://dba.stackexchange.com/questions/210853
复制相似问题