---
title: github-fill
description: REVOKE 描述 该语句用于从指定的用户列表中撤销一个或多个特定权限。 使用限制及注意事项 撤销操作不会级联。例如，用户 user1 给 user2 授予了某些权限，撤回 user1 的权限不会同时也撤回 user2 的相应权限。 需要撤销权限的用户必须存在，否则将报错。 权限要求 如果使用第一种 REVOKE 语…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.1 LTS

# REVOKE

更新时间：2026-07-15 20:56:55

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/7700.revoke-of-mysql-mode.md)  

## 描述

该语句用于从指定的用户列表中撤销一个或多个特定权限。

## 使用限制及注意事项

- 撤销操作不会级联。例如，用户 `user1` 给 `user2` 授予了某些权限，撤回 `user1` 的权限不会同时也撤回 `user2` 的相应权限。
 - 需要撤销权限的用户必须存在，否则将报错。

## 权限要求

- 如果使用第一种 `REVOKE` 语法 `revoke_stmt1` 时，需要当前用户拥有 `GRANT OPTION` 权限，并且必须拥有被撤销的权限（例如，`user1` 要撤销 `user2` 对表 `t1` 的 `SELECT` 权限，则 `user1` 必须拥有表 `t1` 的 `SELECT` 的权限）。
 - 如果使用第二种 `REVOKE` 语法 `revoke_stmt2` 撤销所有权限（`ALL PRIVILEGES` 和 `GRANT OPTION` 权限）时，需要当前用户必须拥有全局 `GRANT OPTION` 权限，或者对权限表的 `UPDATE` 及 `DELETE` 权限。

有关 OceanBase 数据库权限的详细介绍，请参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220876)。

## 语法

```sql
revoke_stmt1:
    REVOKE grant_privileges ON priv_level FROM user_list;

revoke_stmt2:
    REVOKE ALL [PRIVILEGES], GRANT OPTION FROM user_list;

grant_privileges:
    priv_type_list
    | ALL [PRIVILEGES]

priv_type_list:
    priv_type [, priv_type...]

priv_level:
    *.*
    | db_name.*
    | db_name.table_name

user_list:
      user [, user ...]

user:
    user_name

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| revoke_stmt1 | 从用户列表中撤销特定权限级别权限的 SQL 语句。 |
| revoke_stmt2 | 从用户列表中撤销所有权限和授予选项的 SQL 语句。 |
| grant_privileges | 指定需要撤销的权限类型，可以是特定权限类型的列表，也可以是所有权限（`GRANT OPTION` 除外）。 |
| priv_type_list | 表示具体的权限类型列表。同时撤销多个授权时，权限间使用英文逗号（`,`）隔开。 |
| priv_type | 表示具体的权限类型。具体的权限类型的详细介绍，参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220876)。 |
| ALL [PRIVILEGES] | 表示除 `GRANT OPTION` 以外所有权限。 |
| priv_level | 指定授予权限的层级。权限层级的具体取值介绍可参见下文 [priv_level](#priv_level)。 |
| user_list | 指定需要撤销权限的用户列表。同时撤销多个用户的授权时，用户名用英文逗号（`,`）隔开。 |
| user_name | 表示用户名称。 |

### priv_level

- `*.*`：表示所有数据库中的所有表。

  **示例如下：**

  从用户 `user001` 和 `user002` 中撤销全局的 `SELECT` 和 `INSERT` 权限。

  ```sql
  REVOKE SELECT, INSERT ON *.* FROM user001, user002;

  ```
 - `db_name.*`：表示指定数据库中的所有表。`db_name` 表示指定数据库的数据库名称。

  **示例如下：**

  从用户 `user003` 中撤销对 `test` 数据库中所有表的插入权限。

  ```sql
  REVOKE INSERT ON test.* FROM user003;

  ```
 - `db_name.table_name`：表示特定数据库中的特定表。

  **示例如下：**

  从用户 `user003` 中撤销对 `test` 数据库中的 `tbl2` 表的 `SELECT` 权限。

  ```sql
  REVOKE SELECT ON test.tbl2 FROM user003;

  ```

## 示例

- 撤销用户 `user003` 的所有权限。

  ```sql
  REVOKE ALL PRIVILEGES, GRANT OPTION FROM user003;

  ```
 - 通过撤销 `user004` 用户的 `SELECT` 权限，查看 `ALL PRIVILEGES` 授予了哪些权限。

1. 给用户 `user004` 授予 `ALL PRIVILEGES` 权限。

   ```sql
   GRANT ALL PRIVILEGES ON *.* TO user004;

   ```
 2. 查看用户 `user004` 拥有的授权。

   ```sql
   SHOW GRANTS FOR user004;

   ```

   返回结果如下：

   ```shell
   +------------------------------------------+
   | Grants for user004@%                     |
   +------------------------------------------+
   | GRANT ALL PRIVILEGES ON *.* TO 'user004' |
   +------------------------------------------+
   1 row in set

   ```
 3. 撤销用户 `user004` 的 `SELECT` 权限。

   ```sql
   REVOKE SELECT ON *.* FROM user004;

   ```
 4. 再次查看用户 `user004` 拥有的授权。

   ```

   返回结果如下：

   ```shell
   +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | Grants for user004@%                                                                                                                                                                                                                                                                                                      |
   +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | GRANT ALTER, CREATE, CREATE USER, DELETE, DROP, INSERT, UPDATE, INDEX, CREATE VIEW, SHOW VIEW, SHOW DB, SUPER, PROCESS, CREATE_SYNONYM, FILE, ALTER TENANT, ALTER SYSTEM, CREATE RESOURCE POOL, CREATE RESOURCE UNIT, REPLICATION SLAVE, REPLICATION CLIENT, DROP DATABASE LINK, CREATE DATABASE LINK ON *.* TO 'user004' |
   +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   1 row in set

   ```

## 相关文档

- [修改用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220872)
 - [GRANT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000221383)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
