---
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.1.2 企业版

# 创建用户

更新时间：2023-08-24 11:10:44

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

## 谁可以创建用户

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

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

## 用户名称的规则

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

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

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

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

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

对于拥有 `CREATE USER` 的系统权限的用户，在创建用户时，建议坚持最小权限原则，即所有用户只拥有执行其任务所需的最小权限。

创建用户的 SQL 语句如下：

```sql
   CREATE USER user_name [host_name] IDENTIFIED BY password [REQUIRE {NONE | SSL | X509 | tls_option_list}]
 [PROFILE user_profile] [DEFAULT TABLESPACE table_space] [PRIMARY_ZONE 'zone_name']

password:
    STR_VALUE

tls_option_list:
      tls_option
    | tls_option_list, tls_option

tls_option:
      CIPHER STR_VALUE
    | ISSUER STR_VALUE
    | SUBJECT STR_VALUE

```

语句说明：

- `user_name`：用户名，如果同名用户已经存在，则系统会报错。
 - `host_name`：用户所在的主机 IP，格式为 `@xx.xx.xx.xx`。
 - `IDENTIFIED BY`：在 Oracle 模式中，必须使用 `IDENTIFIED BY` 为用户指定一个密码。
 - `REQUIRE`：指定用户使用的加密协议为 `NONE`、`SSL`、`X509` 和 `tls_option_list`中的一种。
 - `PROFILE`：用于指定用户使用的 Profile。如果不指定，则使用系统默认的 `DEFAULT` 配置文件，`DEFAULT` 配置文件的所有设置默认为无限制。
 - `DEFAULT TABLESPACE table_space`：用于指定用户的默认表空间，一般无实际意义。
 - `PRIMARY_ZONE`：用于指定用户的 Primary Zone。

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

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

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

   ```

   `CREATE USER` 语句的更多信息，请参见 [CREATE USER](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000360172)。
 3. 执行以下命令，授予用户 `user2` 连接数据库的权限。

   ```sql
   obclient>GRANT CREATE SESSION TO user2;

   ```

   `GRANT` 语句的更多信息，请参见 [GRANT](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000360189)。

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

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

### 前提条件

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

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

### 操作步骤

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

   用户配置相关说明如下。

   | 配置 | 描述 |
   | --- | --- |
   | **用户名** | 以英文字母开头，可包含大写字母、小写字母、数字和下划线，且长度为 2～ 64 个字符。 |
   | **密码** | 长度为 8 ~ 32，且至少包含 2 个数字、2 个大写字母、2 个小写字母和 2 个特殊字符。支持的特殊字符为 ._+@#$%。 |
   | **确认密码** | 请与初次输入的密码保持一致。 |
   | **系统权限** | 选填，该权限适用于所有用户。 |
   | **拥有角色** | 选填，选择后，用户拥有该角色包含的所有权限。 |

   **系统权限** 中涉及的权限类型及说明请参见 [用户及权限概述](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361542)。

   ![Image 25](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/2225442261/p276329.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) 咨询热线
