我需要在mysql中撤销root用户的权限。根用户不能在数据库中创建和删除表。
我检查了revoke命令,但不知何故它对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”
1条答案
按热度按时间mwyxok5s1#
我想,你不想那么做。root用户拥有所有crud操作的所有特权,创建新用户并授予他们特权。
如果您的目的是限制访问,那么根据您的需要创建不同的用户。例如:您可能只想让用户读取记录。这是一个安全的选项,因为您可能仅将该用户用于阅读目的。或者只是为了读、写和编辑权限。
编辑:
如果您仍然想这样做,请检查下面的答案:如何恢复mysql root用户的完全权限。它可能会帮助你。