---
title: "撤销用户或角色中的角色 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 撤销用户或角色中的角色 您可以通过 REVOKE 语句将角色从用户或其他角色中撤销。 当前支持将一个角色从多个用户或角色中撤销，也支持将多个角色从一个用户或角色中撤销，还支持将多个角色从多个用户或角色中撤销。 前提条件 撤销角色时，当前用户必须拥有被撤销的角色，并且拥有 ADMIN OPTION 权限，才能撤销成功。…
---
切换语言

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

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

# 撤销用户或角色中的角色

更新时间：2026-04-07 19:31:42

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/600.manage/500.security-and-permissions/300.access-control/200.user-and-permission/200.permission-of-mysql-mode/340.role-management-of-mysql-mode/800.revoke-a-role-from-a-user-or-role-of-mysql-mode.md)  

您可以通过 `REVOKE` 语句将角色从用户或其他角色中撤销。

当前支持将一个角色从多个用户或角色中撤销，也支持将多个角色从一个用户或角色中撤销，还支持将多个角色从多个用户或角色中撤销。

## 前提条件

撤销角色时，当前用户必须拥有被撤销的角色，并且拥有 `ADMIN OPTION` 权限，才能撤销成功。查看当前用户或角色所拥有的角色的详细操作，请参见 [查看角色](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480426)。

## 注意事项

执行 `REVOKE` 语句将角色从用户中撤销时，不会对当前登录的用户立即生效。

## 操作示例

### 撤销用户中的角色

- 撤销用户 `test1` 中的 `employee` 角色

  ```sql
  obclient [oceanbase]> REVOKE employee FROM test1;

  ```
 - 撤销用户 `test1` 和 `test2` 中的 `employee` 角色

  ```sql
  obclient [oceanbase]> REVOKE employee FROM test1,test2 IGNORE UNKNOWN USER;

  ```

  本示例中，`IGNORE UNKNOWN USER` 子句用于检查待撤销角色的用户是否存在。如果不加 `IGNORE UNKNOWN USER` 子句，只要 `test1` 和 `test2` 用户中有一个不存在，系统就会报错；如果加了 `IGNORE UNKNOWN USER` 子句，系统会提示一条 Warning 信息。

  无论是否添加 `IGNORE UNKNOWN USER` 子句，只要 `test1` 和 `test2` 用户中有一个不存在，撤销角色的操作就会失败。
 - 撤销用户 `test1` 中的 `employee` 和 `developer` 角色

  ```sql
  obclient [oceanbase]> REVOKE IF EXISTS employee,developer FROM test1 IGNORE UNKNOWN USER;

  ```

  本示例中，`IF EXISTS` 子句用于检查待撤销的角色在租户中是否存在。如果不加 `IF EXISTS` 子句，只要 `employee` 和 `developer` 角色中有一个不存在，系统就会报错；如果加了 `IF NOT EXISTS` 子句，系统会提示一条 Warning 信息。

  无论是否添加 `IF EXISTS` 子句，只要 `employee` 和 `developer` 角色中有一个不存在，撤销角色的操作就会失败。

### 撤销角色中的角色

- 撤销 `role1` 角色中的 `employee` 角色

  ```sql
  obclient [oceanbase]> REVOKE employee FROM role1;

  ```
 - 撤销 `role1` 和 `role2` 角色中的 `employee` 角色

  ```sql
  obclient [oceanbase]> REVOKE IF EXISTS employee FROM role1,role2;

  ```

## 相关文档

- [撤销权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479245)
 - 有关 `REVOKE` 语句的详细说明，请参见 [REVOKE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479545)。

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