如何在MySQL中撤消对新用户的*。*访问权限?

use*_*287 5 mysql privileges grant

在mysql 5.6命令行客户端(以root用户身份登录时),我创建了一个用户:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式授予特权:

GRANT ALL PRIVILEGES ON databasename.* TO 'admin'@'localhost';
Run Code Online (Sandbox Code Playgroud)

使用以下命令检查特权时:

SHOW GRANTS FOR 'admin'@'localhost';
Run Code Online (Sandbox Code Playgroud)

显示了上面分配的数据库的特权以及以下特权:

GRANT USAGE ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD...
Run Code Online (Sandbox Code Playgroud)

我试图通过以下方式撤销特权:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'admin'@'localhost';
Run Code Online (Sandbox Code Playgroud)

但这并不会删除 *.*

我如何撤消*.*mysql中新用户的访问权限?

Rol*_*oro 6

在不删除用户的情况下,您实际上无法撤销USAGE。USAGE是全球级别的特权:

USAGE特权说明符表示“无特权”。它与GRANT一起在全局级别上使用,以在不影响现有帐户特权的情况下修改帐户属性(例如资源限制或SSL特征)。

来自MySQL文档提供的特权

因此,基本上,如果您想删除USAGE特权,请使用:

DROP USER 'admin'@'localhost';
Run Code Online (Sandbox Code Playgroud)