我正在尝试删除 mysql 用户的权限,以便无法删除特定的数据库。但是如果我运行这个命令:
revoke all privileges on test.* from 'demo'@'localhost';
Run Code Online (Sandbox Code Playgroud)
或这个
revoke drop on test.* from 'demo'@'localhost';
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
错误 1141 (42000):没有为主机“localhost”上的用户“demo”定义此类授权
test是数据库的名称。
演示用户的权限是这样的:
mysql> show grants for demo@'localhost';
+----------------------------------------------------------------------------------------------------------------------+
| Grants for demo@localhost |
+----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'demo'@'localhost' IDENTIFIED BY PASSWORD '*C142FB215B6E05B7C134B1A653AD4B455157FD79' |
Run Code Online (Sandbox Code Playgroud)
此外,当我以用户 demo 登录时,我可以删除数据库测试。
当我尝试从用户演示中删除权限时,为什么会出现此错误?