---
title: "GRANT - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: GRANT 描述 GRANT 语句用于系统管理员授予用户某些权限。 权限要求 执行 GRANT 语句时，当前用户必须拥有被授予的权限。例如，想要使用用户 user1 为用户 user2 授予表 tbl1 的 SELECT 权限，则用户 user1 必须拥有表 tbl1 的 SELECT 权限。 执行 GRANT 语句…
---
切换语言

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

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

# GRANT

更新时间：2026-04-10 11:58:35

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

## 描述

`GRANT` 语句用于系统管理员授予用户某些权限。

## 权限要求

- 执行 `GRANT` 语句时，当前用户必须拥有被授予的权限。例如，想要使用用户 `user1` 为用户 `user2` 授予表 `tbl1` 的 `SELECT` 权限，则用户 `user1` 必须拥有表 `tbl1` 的 `SELECT` 权限。
 - 执行 `GRANT` 语句时，当前用户需拥有 `GRANT OPTION` 权限。关 OceanBase 数据库权限的详细介绍，请参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642580)。

#### 说明

为用户授权后，该用户需重新连接 OceanBase 数据库，权限才能生效。

## 语法

```sql
GRANT {priv_type [, priv_type...]}
    ON priv_level
    TO {user [, user...]}
    [WITH GRANT OPTION]

user:
      user_name
    | user_name IDENTIFIED [WITH auth_plugin] BY password
    | user_name IDENTIFIED [WITH auth_plugin] BY PASSWORD password

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| priv_type | 指定授予的权限类型，可以授予多个权限，多个权限间使用英文逗号（`,`）隔开。具体的权限类型及其说明请参见 [MySQL 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642580)。 |
| priv_level | 指定授予权限的层级。可以指定在所有数据库和所有表上生效（`*.*`）、指定数据库或指定表生效（`db_name.*`，`*.table_name`）、或者特定的数据库中特定的表生效（`db_name.table_name`）。 |
| user | 指定要授予权限的用户，可以是一个或多个用户，多个用户间使用英文逗号（`,`）隔开。如果用户不存在，该语句会直接创建用户。 |
| auth_plugin | 用于指定用户身份验证的方式，目前仅支持 `mysql_native_password` 身份验证插件。 |
| BY password | 为待授权的用户指定一个密码，此处密码为明文，存入 `mysql.user` 表后，服务器端会变为密文存储下来。如果密码中包含特殊字符 ``~!@#%^&*_-+=`\|(){}[]:;',.?/``，需使用英文引号（`''` 或 `""`）包含。 |
| BY PASSWORD password | 为待授权的用户指定一个密码，此处密码为密文，将直接存入 `mysql.user` 表。 |
| WITH GRANT OPTION | 指定权限是否允许转授，取消授权时级联。 |

## 示例

- 为已存在的用户 `user1` 赋予数据库 `db1` 的 `CREATE VIEW` 权限，并设置允许转授其他用户相同的权限。

  ```shell
  obclient> GRANT CREATE VIEW ON db1.* TO user1 WITH GRANT OPTION;

  ```
 - 为已存在的用户 `user1` 赋予数据库 `db1` 的 `CREATE` 权限，并修改 `user1` 的密码。

  ```shell
  obclient> GRANT CREATE ON db1.* TO user1 IDENTIFIED by '********';

  ```

  执行后查看 `mysql.user` 表中 `user1` 用户的密码，会看到已更新为最新设置的密码。
 - 为不存在的用户 `user2` 赋予数据库 `db1` 的 `CREATE` 权限，并为 `user2` 设置密码。

  ```shell
  obclient> GRANT CREATE ON db1.* TO user2 IDENTIFIED by '********';

  ```

## 相关文档

- 授予用户权限的操作可参见 [授予权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642578)。
 - 查看用户权限的操作可参见 [查看用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642582)。
 - 可从 `mysql.user` 表中查看创建的用户信息，`mysql.user` 表的详细介绍可参见 [mysql.user](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000641787)。

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