---
title: "创建用户 | OceanBase 文档中心"
description: 创建用户 本节主要介绍如何创建一个用户。 谁可以创建用户 数据库在运行过程中，往往需要创建不同的用户，并为用户赋予相应的权限，一般被授予 CREATE USER 权限的用户可以创建用户。 由于 CREATE USER 权限较大，默认仅集群管理员和租户管理员拥有此系统权限，其他用户如果需要创建用户，则需要被授予 CRE…
---
切换语言

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

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

# 创建用户

更新时间：2026-06-21 08:01:33

本节主要介绍如何创建一个用户。

## 谁可以创建用户

数据库在运行过程中，往往需要创建不同的用户，并为用户赋予相应的权限，一般被授予 `CREATE USER` 权限的用户可以创建用户。

由于 `CREATE USER` 权限较大，默认仅集群管理员和租户管理员拥有此系统权限，其他用户如果需要创建用户，则需要被授予 `CREATE USER` 权限，授权相关操作请参见 [修改用户权限](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945718)。

## 用户名称的规则

为用户指定名称时，需要注意以下限制：

- 用户名的唯一性：每个用户名需要保证在租户内唯一。

  用户名称在租户内是唯一的，不同租户下的用户可以同名，故通过 `用户名@租户名` 的形式可以在系统全局唯一定位一个租户用户。

  由于系统租户与 MySQL 租户属于同一兼容模式，为区别系统租户和普通租户下的用户，建议对系统租户下的用户名称使用特定前缀。
 - 用户名的命名约定：

     - 使用 OBClient 、ODC 等客户端创建用户时，要求用户名长度不超过 64 个字节。
     - 使用 OCP 创建用户时，要求用户名以英文字母开头，可包含大写字母、小写字母、数字和下划线，且长度为 2~64 个字符。

## 通过 SQL 语句创建一个拥有最小数据库权限的用户

您可以使用 `CREATE USER` 语句创建用户。创建用户必须拥有 `CREATE USER` 的系统权限。在创建用户时，建议坚持最小权限原则，即所有用户只拥有执行其任务所需的最小权限。

创建用户的 SQL 语句如下：

```sql
CREATE USER [IF NOT EXISTS] user_specification_list
    [REQUIRE {NONE | SSL | X509 | tls_option}];

user_specification_list:
    user_specification [, user_specification ...]

user_specification:
    user IDENTIFIED BY  'authstring'
  | user IDENTIFIED BY PASSWORD 'hashstring'

tls_option:
 | CIPHER 'cipher'
 | ISSUER 'issuer'
 | SUBJECT 'subject'

```

语句说明：

- `IF NOT EXISTS`：如果待创建的用户名已存在并且未指定 `IF NOT EXISTS`，则系统会报错。
 - `IDENTIFIED BY`：使用可选的 `IDENTIFIED BY` 子句，可以为账户指定一个密码。

  其中：

     - `user IDENTIFIED BY 'authstring'` 语句中的密码为明文，存入 `mysql.user` 表中后，服务器端会变为密文存储下来。
     - `user IDENTIFIED BY PASSWORD 'authstring'` 语句中的密码为密文。
 - `REQUIRE` 用于指定用户使用的加密协议，为 `NONE`、`SSL`、 `X509` 和 `tls_option` 中的一种。

创建一个拥有最小数据库权限的用户 `user2` 的示例如下。

1. 使用 `root` 用户登录到 Mysql 租户。
 2. 执行以下命令，创建用户 `user2`。

   ```sql
   obclient> CREATE USER 'user2' IDENTIFIED BY '******';

   ```
 3. 执行以下命令，授予用户 `user2` 访问数据库 `db1` 中所有表的权限。

   ```sql
   obclient> GRANT SELECT ON db1.* TO user2;

   ```

## 通过 OCP 创建一个拥有最小数据库权限的用户

您可以通过 OCP 创建 MySQL 兼容模式的用户。

### 前提条件

创建用户前，需要确认以下信息：

- 当前 OCP 用户需要具有租户修改权限，OCP 用户权限相关信息请参见对应版本的《OCP 用户指南》文档。
 - 当前 OCP 用户的密码箱中具有该租户的 root 用户密码，OCP 用户的密码箱相关操作请参见对应版本的《OCP 用户指南》文档。

### 操作步骤

1. 登录 OCP。
 2. 在左导航栏上单击 **租户** ，进入 **租户** 页面。
 3. 在租户列表中，选择 **租户模式** 为 **MySQL** 的租户，进入 **总览** 页面。
 4. 在左侧导航栏上，单击 **用户管理** 。
 5. 在页面右上角单击 **新建用户** 。
 6. 在弹出的 **新建数据库用户** 对话框中，配置用户信息。

   用户配置相关说明如下表所示。

   | 配置 | 描述 |
   | --- | --- |
   | **用户名** | 待创建的数据库用户的名称。 |
   | **密码** | 长度为 8 ~32 个字符，包含至少 2 个数字、2 个大写字母、2 个小写字母和 2 个特殊字符，支持的特殊字符为 `._+@#$%`。 |
   | **确认密码** | 与新密码保持一致。 |
   | **全局权限** | 选填，该权限适用于所有数据库。 |
   | **数据库权限** | 选填，对新用户进行授权。勾选新用户可访问的数据库，单击 **>** 图标，将目标数据库移动至右侧区域，并勾选需要添加的权限。 |

   **全局权限** 和 **数据库权限** 中涉及的权限类型说明如下表所示。

   | **权限** | **说明** |
   | --- | --- |
   | ALTER | ALTER TABLE 的权限 |
   | CREATE | CREATE TABLE 的权限 |
   | DELETE | DELETE 的权限 |
   | DROP | DROP 的权限 |
   | INSERT | INSERT 的权限 |
   | SELECT | SELECT 的权限 |
   | UPDATE | UPDATE 的权限 |
   | INDEX | CREATE INDEX、DROP INDEX 的权限 |
   | CREATE VIEW | 创建、删除视图的权限 |
   | SHOW VIEW | SHOW CREATE VIEW权限 |
   | CREATE USER | CREATE USER、DROPUSER、RENAME USER和REVOKE ALLPRIVILEGES 的权限 |
   | PROCESS | PROCESS 权限 |
   | SUPER | SET GLOBAL 修改全局系统参数的权限 |
   | SHOW DATABASES | 全局 SHOW DATABASES 的权限 |
   | GRANT OPTION | GRANT OPTION 的权限 |

   ![Image 28](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/2225442261/p276328.png)
 7. 完成后，单击 **提交** 。

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