---
title: "创建租户 | OceanBase 文档中心"
description: 创建租户 本节主要介绍通过 SQL 命令创建 OceanBase 数据库租户的方法。OceanBase 数据库仅支持 sys 租户创建资源单元、资源池和业务租户。 描述 在创建新租户时，如果当前的资源池均被使用（被其他租户使用），需要创建新的资源池。在创建资源池前，需要先确定资源单元配置和资源使用范围。 操作步骤 1…
---
切换语言

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

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

# 创建租户

更新时间：2026-03-12 15:45:49

本节主要介绍通过 SQL 命令创建 OceanBase 数据库租户的方法。OceanBase 数据库仅支持 sys 租户创建资源单元、资源池和业务租户。

## 描述

在创建新租户时，如果当前的资源池均被使用（被其他租户使用），需要创建新的资源池。在创建资源池前，需要先确定资源单元配置和资源使用范围。

## 操作步骤

### 1. （可选）查看资源单元和资源池信息

```sql
obclient> SELECT * FROM oceanbase.__all_unit_config;
obclient> SELECT * FROM oceanbase.gv$unit;

```

### 2. 创建资源单元规格

资源单元仅仅是规格定义，不实际分配资源。

#### 语法

```sql
CREATE RESOURCE UNIT unit_name
MAX_CPU [=] cpu_num,
MAX_MEMORY [=] mem_size,
MAX_IOPS [=] iops_num,
MAX_DISK_SIZE [=] disk_size,
MAX_SESSION_NUM [=] session_num,
[MIN_CPU [=] cpu_num,]
[MIN_MEMORY [=] mem_size,]
[MIN_IOPS [=] iops_num];

```

#### 参数解释

| **参数** | **描述** |
| --- | --- |
| unit_name | 指定资源单元名称。 |
| MAX_CPU | 指定 CPU 的最多数量。 |
| MAX_MEMORY | 指定最大内存容量，取值范围为 [1073741824, +∞) 。 单位为字节，即最小值为 `1G`。 |
| MAX_IOPS | 指定 IOPS 的最多数量，取值范围为 [128,+∞)。 |
| MAX_DISK_SIZE | 指定最大硬盘容量，取值范围为 [536870912,+∞)。 单位为字节，即最小值为 `512M`。 |
| MAX_SESSION_NUM | 指定 Session 的最多数量，取值范围为 [64,+∞)。 |
| MIN_CPU | 指定 CPU 的最少数量。 |
| MIN_MEMORY | 指定最小内存容量。 |
| MIN_IOPS | 指定 IOPS 的最少数量。 |

#### 示例

创建资源单元 `unit001` 配置为 2 个 CPU，`6G` 内存，`128` 个 IOPS，`100G` 硬盘容量，最多运行 `64` 个 Session。

```sql
obclient> CREATE RESOURCE UNIT unit001
     MAX_CPU 2,MAX_MEMORY '6G',MAX_IOPS 128,MAX_DISK_SIZE '100G',MAX_SESSION_NUM 64,
     MIN_CPU 2,MIN_MEMORY '6G',MIN_IOPS 128;
Query OK, 0 rows affected

```

或者

```sql
obclient> CREATE RESOURCE UNIT unit001
     MAX_CPU 2,MAX_MEMORY 6442450944,MAX_IOPS 128,MAX_DISK_SIZE 107374182400,MAX_SESSION_NUM 64,
     MIN_CPU 2,MIN_MEMORY 6442450944,MIN_IOPS 128;
Query OK, 0 rows affected

```

### 3. 创建资源池

资源池会实际创建 unit，按规格定义分配资源。

#### 语法

```sql
CREATE RESOURCE POOL pool_name
UNIT [=] unit_name,
UNIT_NUM [=] unit_num,
ZONE_LIST [=] ('zone' [, 'zone' ...]);

```

#### 参数解释

| **参数** | **描述** |
| --- | --- |
| pool_name | 指定要创建的资源池的名称。 |
| UNIT [=] unit_name | 指定资源规格的名称。 |
| UNIT_NUM [=] unit_num | 指定要创建的单个 Zone 下的 Unit 个数。 每个单元会根据当前集群负载，自动在每个 Zone 中选择一个 Server 负载，但同一个资源池的多个 Unit 不能分配到同一个 Server，即一个资源池包含的Unit 个数不能超过单 Zone 内 Server 的个数。 |
| ZONE_LIST [=] ('zone' [, 'zone' ...]) | 指定要创建的资源池所属的 Zone。一般与 zone 个数保持一致。 |

#### 示例

创建资源池 `pool001`。

```sql
obclient> CREATE RESOURCE POOL pool001
     UNIT='unit001',UNIT_NUM=1,ZONE_LIST=('zone1','zone2','zone3');
Query OK, 0 rows affected

```

### 4. 创建租户

将资源池分配给对应的租户。

#### 语法

```sql
CREATE TENANT [IF NOT EXISTS] tenant_name
    [tenant_characteristic_list] [opt_set_sys_var];

tenant_characteristic_list:
    tenant_characteristic [, tenant_characteristic...]

tenant_characteristic:
      COMMENT 'string'  
    | {CHARACTER SET | CHARSET} [=] charset_name
    | COLLATE [=]  collation_name
    | PRIMARY_ZONE [=] zone  
    | DEFAULT TABLEGROUP [=] {NULL | tablegroup}
    | RESOURCE_POOL_LIST [=](pool_name [, pool_name...])
    | LOCALITY [=] 'locality description'

opt_set_sys_var:
  {SET | SET VARIABLES | VARIABLES} system_var_name = expr [,system_var_name = expr] ...

```

#### 参数解释

| **参数** | **描述** |
| --- | --- |
| tenant_name | 指定租户名。最长 128 个字符，只能有大小写英文字母，数字和下划线，而且必须以字母或下划线开头，并且不能是 OceanBase 数据库的关键字。 |
| IF NOT EXISTS | 如果要创建的租户名已存在，并且没有指定 `IF NOT EXISTS`，则会报错。 |
| RESOURCE_POOL_LIST | 资源池列表，为创建租户时的必填项，暂时只支持一个 Resource Pool。 |
| DEFAULT TABLEGROUP | 设置租户默认表组信息，`NULL` 表示取消默认表组。 如果不指定，默认为 `NULL`。 |
| COMMENT | 指定注释。 |
| CHARACTER SET \| CHARSET | 指定租户的字符集。 |
| COLLATE | 指定字符序。 |
| PRIMARY_ZONE | 指定 Primary Zone。主副本分配到 Zone 内的优先级，逗号两侧优先级相同，分号左侧优先级高于右侧。比如 `zone1,zone2;zone3`。 |
| LOCALITY | 描述副本在 Zone 间的分布情况。 例如：`F@z1,F@z2,F@z3,R@z4` 表示 `z1`、`z2`、`z3` 为全功能副本，`z4` 为只读副本。 |
| system_var_name | 可选，指定租户的系统变量值，其中：     - 变量 `ob_compatibility_mode` 用于指定租户的兼容模式，可选择 MySQL 或 Oracle 模式，并且只能在创建时指定。如果不指定 `ob_compatibility_mode`，则默认兼容模式为 MySQL 模式。 - 变量 `ob_tcp_invited_nodes` 用于指定租户连接的白名单，即允许哪些客户端 IP 连接该租户。如果不调整 `ob_tcp_invited_nodes` 的值，则默认租户的连接方式为只允许本机的 IP 连接数据库。 您也可以待租户创建成功后再修改其白名单设置，修改白名单的具体操作请参见 **设置和查看租户白名单** 。   OceanBase 数据库中，租户可设置的系统变量请参见 **系统变量** 。 |

#### 示例

- 创建 MySQL 兼容模式租户

  ```sql
  obclient> CREATE TENANT IF NOT EXISTS mysql001
       CHARSET='utf8mb4',
       PRIMARY_ZONE='zone1;zone2,zone3',
       RESOURCE_POOL_LIST=('pool001')
       SET ob_tcp_invited_nodes='%';
  Query OK, 0 rows affected

  ```
 - 创建 Oracle 兼容模式租户

  ```sql
  obclient> CREATE TENANT IF NOT EXISTS oracle001
       CHARSET='utf8mb4',
       PRIMARY_ZONE='zone1;zone2,zone3',
       RESOURCE_POOL_LIST=('pool002')
       SET ob_tcp_invited_nodes='%',ob_compatibility_mode='oracle';
  Query OK, 0 rows affected

  ```

### 5. 设置管理员用户密码

> **注意**
>
>  
>
> 使用 SQL 语句创建的租户，租户管理员用户密码为空。使用前请先设置密码。

示例如下：

- 将租户 `mysql001` 的管理员用户 `root` 的密码设置为 `******`。

  ```sql
  $ obclient -h10.10.10.1 -P2881 -uroot@mysql001 -p -A
  Enter password:

  obclient> SET PASSWORD = PASSWORD('******');
  Query OK, 0 rows affected

  ```

  有关 MySQL 模式修改用户密码的详细信息，请参见 [SET PASSWORD](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945568)。
 - 将租户 `oracle001` 的管理员用户 `SYS` 的密码设置为 `******`。

  ```sql
  $ obclient -h10.10.10.1 -P2881 -usys@oracle001 -p -A
  Enter password:

  obclient> SET PASSWORD = PASSWORD(******);
  Query OK, 0 rows affected

  ```

  有关 Oracle 模式修改用户密码的详细信息，请参见 [SET PASSWORD](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000947114)。

## 更多信息

有关创建 OceanBase 数据库用户的的详细信息，请参见 [CREATE USER（MySQL 模式）](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945531) 和 [CREATE USER（Oracle 模式）](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000947084)。

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