如何撤销 MySQL 用户的权限?

mysqlmysqli database

借助 MySQL REVOKE 语句,我们可以撤销 MySQL 用户的一个或多个或所有权限。其语法如下 −

REVOKE privilege_type [(column_list)]
   [, priv_type [(column_list)]]...
ON [object_type] privilege_level
FROM user [, user]...

上述语法的解释如下 −

首先,我们需要在 REVOKE 关键字之后指定要从用户撤销的权限列表。我们需要用逗号分隔权限。
其次,我们需要在 ON 子句中指定撤销权限的权限级别。
第三,我们需要在 FROM 子句中指定要撤销权限的用户帐户。

示例

在给定的示例中,我们将撤销用户 abcd@localhost 的授权 −

mysql> SHOW GRANTS FOR abcd@localhost;
+---------------------------------------------------------------------+
| Grants for abcd@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)

以下查询将撤销用户 ‘abcd@localhost’ 的授予 −

mysql> REVOKE ALL PRIVILEGES,GRANT OPTION FROM abcd@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS for abcd@localhost;
+------------------------------------------+
| Grants for abcd@localhost                |
+------------------------------------------+
| GRANT USAGE ON *.* TO 'abcd'@'localhost' |
+------------------------------------------+
1 row in set (0.00 sec)

相关文章