---
title: github-fill
description: REVOKE 描述 该语句用于撤销之前分配给用户或角色的权限，或者撤销用户或角色中的角色。 使用限制及注意事项 撤销对象权限操作不会级联。例如，用户 user1 给 user2 授予了某些权限，撤回 user1 的权限不会同时也撤回 user2 的相应权限。 需要撤销权限的用户或者角色必须存在，否则将报错。 系统变量…
---
切换语言

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

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

# REVOKE

更新时间：2026-03-18 18:01:15

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/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` 的相应权限。
 - 需要撤销权限的用户或者角色必须存在，否则将报错。
 - 系统变量 `mandatory_roles` 中的角色不能撤销。
 - 执行 `REVOKE` 语句会对当前登录的用户立即生效。

## 权限要求

- **撤销特定权限级别权限**：用户必须拥有被撤销的权限（例如，`user1` 要撤销 `user2` 对表 `t1` 的 `SELECT` 权限，则 `user1` 必须拥有表 `t1` 的 `SELECT` 的权限），并且拥有 `GRANT OPTION` 权限。
 - **撤销所有权限和授予选项**：撤销 `ALL PRIVILEGES` 和 `GRANT OPTION` 权限时，当前用户必须拥有全局 `GRANT OPTION` 权限，或者对权限表的 `UPDATE` 及 `DELETE` 权限。
 - **撤销用户或角色中角色权限**：撤销角色时，当前用户必须拥有被撤销的角色，并且拥有 `ADMIN OPTION` 权限，才能撤销成功。

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

## 语法

### 撤销用户或角色的对象权限

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

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

revoke_stmt3:
    REVOKE [IF EXISTS] role_name_list FROM user_or_role_list [IGNORE UNKNOWN USER];

grant_privileges:
    priv_type_list
    | ALL [PRIVILEGES]

priv_type_list:
    priv_type[(column_name_list)] [, priv_type[(column_name_list)] ...]

column_name_list:
    column_name [, column_name ...]

priv_level:
    *.*
    | db_name.*
    | db_name.table_name
    | CATALOG external_catalog_name
    | LOCATION location_name

user_or_role_list:
      user_or_role [, user_or_role ...]

user_or_role:
    user_name | role_name

role_name_list:
    role_name [, role_name ...]

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| revoke_stmt1 | 从用户或角色中撤销特定权限级别权限的 SQL 语句。 |
| revoke_stmt2 | 从用户或角色中撤销所有权限和授予选项的 SQL 语句。 |
| revoke_stmt3 | 从用户或角色中撤销角色的 SQL 语句。 |
| grant_privileges | 指定需要撤销的权限类型，可以是特定权限类型的列表，也可以是所有权限（`GRANT OPTION` 除外）。 |
| priv_type_list | 表示具体的权限类型列表。同时撤销多个授权时，权限间使用英文逗号（`,`）隔开。 |
| priv_type | 表示具体的权限类型。具体的权限类型的详细介绍，参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479241)。注意：PROXY 参数当前版本仅记录该关键字语法，功能不生效。 |
| column_name_list | 可选项，撤销表中的列级权限的列表。如果不指定，则撤销整个表或对象的权限。 |
| ALL [PRIVILEGES] | 表示除 `GRANT OPTION` 以外所有权限。 |
| priv_level | 指定授予权限的层级。权限层级的具体取值介绍可参见下文 [priv_level](#priv_level)。 |
| user_or_role_list | 指定需要撤销权限的用户或角色列表。同时撤销多个用户或角色的授权时，用户和角色名用英文逗号（`,`）隔开。 |
| user_name | 表示用户名称。 |
| role_name | 表示角色名称。 |
| IF EXISTS | 可选项，当撤销的角色不存在时，如果使用了 `IF EXISTS` 选项，系统将发出警告而非错误消息。 |
| role_name_list | 指定需要撤销的角色列表。同时撤销多个角色时，角色名用英文逗号（`,`）隔开。 |
| IGNORE UNKNOWN USER | 可选项，当被授权者（用户或角色）不存在时，如果使用了 `IGNORE UNKNOWN USER` 选项，系统将发出警告而非错误消息。 |
| proxy | 当前版本仅记录该关键字语法，功能不生效。 |

### 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;

  ```
 - `CATALOG external_catalog_name`：表示 Catalog 中的目录。

  **示例如下：**

  从用户 `user004` 中撤销对 Catalog 的对象 `test_odps_catalog` 的 `USE CATALOG` 权限。

  ```sql
  REVOKE USE CATALOG ON CATALOG test_odps_catalog FROM user004;

  ```
 - `LOCATION location_name`：表示 Location 对象。

  #### 说明

  对于 OceanBase 数据库 V4.4.x 版本，`REVOKE` 语句从 V4.4.1 版本开始支持 `LOCATION` 参数及对应的 `READ` 和 `WRITE` 权限。

  **示例如下：**

  从用户 `user005` 中撤销对 Location 的对象 `test_location_local` 的 `READ` 权限。

  ```sql
  REVOKE READ ON LOCATION test_location_local FROM user005;

  ```

## 示例

### 示例一：撤销对象权限

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

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

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

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

   ```sql
   SHOW GRANTS FOR test_user001;

   ```

   返回结果如下：

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

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

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

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

   ```

   返回结果如下：

   ```shell
   +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | Grants for test_user001@%                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   | GRANT ALTER, CREATE, CREATE USER, DELETE, DROP, INSERT, UPDATE, INDEX, CREATE VIEW, SHOW VIEW, SHOW DATABASES, SUPER, PROCESS, CREATE_SYNONYM, REFERENCES, FILE, ALTER TENANT, ALTER SYSTEM, CREATE RESOURCE POOL, CREATE RESOURCE UNIT, REPLICATION SLAVE, REPLICATION CLIENT, DROP DATABASE LINK, CREATE DATABASE LINK, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TABLESPACE, SHUTDOWN, RELOAD, CREATE ROLE, DROP ROLE, TRIGGER ON *.* TO 'test_user001' |
   +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   1 row in set

   ```

### 示例二：撤销用户的所有权限

撤销用户 `test_user002` 的所有权限。

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

```

### 示例三：撤销用户或角色中的角色

- 撤销角色 `role002` 中的角色 `role001`。

  ```sql
  REVOKE role001 FROM role002;

  ```
 - 撤销用户 `user001` 中的角色 `role001`。

  ```sql
  REVOKE role001 FROM user001;

  ```

## 相关文档

- [撤销角色中的权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480422)
 - [撤销用户或角色中的角色](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480428)
 - [修改用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479245)
 - [GRANT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479544)

 上一篇 下一篇 ![有帮助](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) 咨询热线
