我需要撤销 mySql 中 root 用户的权限。 root 用户不应该能够在数据库中创建和删除表。
我检查了撤销命令,但不知何故它对 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;
block 引用>Access denied for user 'root'@'localhost' to database 'myDb'
最佳答案
我认为,你不想这样做。 Root 用户通过这种方式拥有所有 CRUD 操作的所有权限,并创建新用户并授予他们权限。
如果您的动机是限制访问,请根据您的需要设置不同的用户。例如:您可能只想让用户读取记录。这是一个安全的选择,因为您只能将该用户用于阅读目的。或者仅用于读取、写入和编辑权限。
编辑:
如果您仍想这样做,请查看此答案 How can I restore the MySQL root user’s full privileges? 。它可能对你有帮助。
关于Mysql 撤销root用户的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074828/