我需要撤销mySql中根用户的权限。根用户不应该能够在数据库中创建和删除表。
我选中了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’的访问
发布于 2018-01-03 10:04:39
我想,你不会想那样做的。Root用户通过这种方式拥有所有CRUD操作的所有特权,并创建新用户并授予他们特权。
如果您的动机是限制访问,请根据您的需要使不同的用户。例如:你可能只想让用户阅读记录。这是一个安全的选项,因为您可以使用该用户仅用于阅读目的。或者仅仅是为了读取、写入和编辑权限。
编辑:
如果您还想这样做,请检查这个答案How can I restore the MySQL root user’s full privileges?。可能对你有帮助。
https://stackoverflow.com/questions/48074828
复制相似问题