在 MySQL 中撤销大量特定于表的授权的简单方法

在 MySQL 中撤销大量特定于表的授权的简单方法

我在 MySQL 中设置了一些表特定的授权,但当我以该 MySQL 用户身份登录时,它仍然拥有对所有表的完全访问权限。我想清除所有 GRANT 并重新开始。

我正在运行 Debian Linux 服务器,使用如下命令行命令:

GRANT INSERT on database.someTable TO 'everyone'@'localhost';

(乘以 30 左右。)

尝试使用下面的单个命令撤销授权只会产生一些错误,提示没有该类型的授权可以删除:

REVOKE all on database.* FROM 'everyone'@'localhost';

我是否必须尝试对授权进行逆向工程并逐一撤销它们?

答案1

SHOW GRANTS FOR 'user'@'localhost';将显示针对给定用户应用的所有授予命令,然后您可以将它们更改为撤销以撤消它们。

一般来说,在测试之前运行FLUSH PRIVILEGES;也是一个好主意。

相关内容