我需要在mySql中撤销root用户的权限。 root用户不应该在数据库中创建和删除表。
我检查了revoke命令但不知何故它对root用户不起作用。如果我创建了一个新用户并撤销了权限,那么它是否有效,我对root用户缺少什么,或者我们无法撤销对“root”的权限?
SHOW GRANTS FOR root@localhost;
- 显示
GRANT RELOAD, SHUTDOWN, PROCESS, FILE, SHOW DATABASES, SUPER, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER, CREATE TABLESPACE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*7BB96B4D3E986612D96E53E62DBE9A38AAA40A5A'
GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `%`.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
然后
REVOKE all on myDb.* from root@'%';
FLUSH PRIVILEGES;
用户'root'@'localhost'拒绝访问数据库'myDb'
答案 0 :(得分:0)
我想,你不想这样做。 Root用户可以获得所有CRUD操作的所有权限,并创建新用户并授予他们权限。
如果您的动机是限制访问权限,请根据您的需要创建不同的用户。例如:您可能只希望用户阅读记录。这是一个安全的选择,因为您可能仅将该用户用于阅读目的。或者仅用于读取,写入和编辑权限。
修改强>
如果您仍想执行此操作,请查看此答案How can I restore the MySQL root user’s full privileges?。它可能会对你有帮助。