---
title: "新建租户 | OceanBase 文档中心"
description: "新建租户 您可以通过 SQL 语句新建租户。 创建租户的语法 OceanBase 数据库只有 root 用户连接到 sys 租户（ root@sys ）才能执行 CREATE TENANT 命令去创建租户。 创建租户的 SQL 语法如下： CREATE TENANT [IF NOT EXISTS] tenant_na…"
---
切换语言

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

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

# 新建租户

更新时间：2026-06-02 10:13:00

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/500.administrator-guide/600.basic-database-management/400.manage-tenants-1/200.create-a-tenant-1.md)  

您可以通过 SQL 语句新建租户。

## 创建租户的语法

OceanBase 数据库只有 `root` 用户连接到 `sys` 租户（`root@sys`）才能执行 `CREATE TENANT` 命令去创建租户。

创建租户的 SQL 语法如下：

```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} [=] charsetname
    | COLLATE [=]  collationname
    | ZONE_LIST [=] (zone [, zone...])
    | PRIMARY_ZONE [=] zone  
    | DEFAULT TABLEGROUP [=] {NULL | tablegroup}
    | RESOURCE_POOL_LIST [=](poolname [, poolname...])
    | LOCALITY [=] 'locality description'

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

```

语法中参数说明如下表所示。

| 参数 | 描述 |
| --- | --- |
| IF NOT EXISTS | 可选参数，如果要创建的租户名已存在，并且没有指定 `IF NOT EXISTS`，则会出现错误。 |
| tenant_name | 租户名的合法性和变量名一致，最长 128 个字符，字符只能是大小写英文字母、数字和下划线，而且必须以字母或下划线开头，并且不能是 OceanBase 数据库的关键字。 OceanBase 数据库中所支持的关键字请参见 [预留关键字](https://www.oceanbase.com/docs/community-observer-cn-10000000000901190) |
| RESOURCE_POOL_LIST | 创建租户时的必填项，创建租户时仅支持分配一个资源池。如果需要为租户添加多个资源池，则可以待租户创建成功后通过修改租户资源池的方式再进行添加。   > **注意**   > 在分配资源池时，普通租户的内存的最小规格由隐藏配置项 `__min_full_resource_pool_memory` 控制，默认值为 5G，取值范围为 [1073741824,+∞)。如果您希望创建一个租户进行非常简单的功能测试，可以修改参数 `alter system __min_full_resource_pool_memory` 的值为 1073741824 来允许以最小 1 GB 内存的规格创建租户。 |
| DEFAULT TABLEGROUP | 用于指定租户默认的表组信息，`NULL` 表示取消默认表组。如果不指定，默认为 `NULL`。 |
| COMMENT | 指定对该租户的注释信息。 |
| CHARACTER SET \| CHARSET | 指定租户的字符集。    字符集相关的介绍信息请参见 [字符集](https://www.oceanbase.com/docs/community-observer-cn-10000000000902050)。 |
| COLLATE | 指定租户的字符序。    字符序相关的介绍信息请参见 [字符序](https://www.oceanbase.com/docs/community-observer-cn-10000000000902051)。 |
| ZONE_LIST | 指定租户的 Zone 列表。 |
| PRIMARY_ZONE | 指定租户的 Primary Zone。Primary Zone 表示 Leader 副本的偏好位置。指定 Primary Zone 实际上是指定了 Leader 更趋向于被调度到哪个 Zone 上。 Primary Zone 实际上是一个 Zone 的列表，列表中包含多个 Zone。当 Primary Zone 列表包含多个 Zone 时，使用分号（;）分隔的 Zone 具有从高到底的优先级；使用逗号（,）分隔的 Zone 具有相同优先级。例如，`primary_ zone =' zone1; zone2, zone3'` 表示该租户的表的分区 Leader 在 `zone1` 上， `zone1` 比 `zone2`、`zone3` 的优先级高，`zone2` 和 `zone3` 是同一优先级。   > **注意**   > 在指定 `PRIMARY_ZONE` 时，其值可以设置为 `RANDOM`（必须大写），表示随机选择最高优先级内的任意一个 Zone 作为 Primary Zone。     更多 Primary Zone 相关的介绍信息请参见 [Primary Zone](https://www.oceanbase.com/docs/community-observer-cn-10000000000901140)。 |
| LOCALITY | 指定副本在 Zone 间的分布情况。    例如：`F@z1,F@z2,F@z3,F@z4` 表示 `z1`、`z2`、`z3` 、`z4` 为全功能副本。 |
| system_var_name | 可选，指定租户的系统变量值，其中：   - 变量 `ob_compatibility_mode` 用于指定租户的兼容模式，仅可选择 MySQL模式，并且只能在创建时指定。如果不指定 `ob_compatibility_mode`，则默认兼容模式为 MySQL 模式。 - 变量 `ob_tcp_invited_nodes` 用于指定租户连接的白名单，即允许哪些客户端 IP 连接该租户。如果不调整 `ob_tcp_invited_nodes` 的值，则默认租户的连接方式为只允许本机的 IP 连接数据库。      您也可以待租户创建成功后再修改其白名单设置，修改白名单的具体操作请参见 [设置和查看租户白名单](https://www.oceanbase.com/docs/community-observer-cn-10000000000901646)。      OceanBase 数据库中，租户可设置的系统变量请参见 [系统变量](https://www.oceanbase.com/docs/community-observer-cn-10000000000901242)。 |

## 使用示例

- 创建名为 `test_tenant` 的一个 3 副本的租户。

  ```sql
  obclient> CREATE TENANT IF NOT EXISTS test_tenant CHARSET='utf8mb4', ZONE_LIST=('zone1','zone2','zone3'), PRIMARY_ZONE='zone1;zone2,zone3', RESOURCE_POOL_LIST=('pool1')；

  ```
 - 创建租户，并指定允许任何客户端 IP 连接该租户。

  ```sql
  obclient> CREATE TENANT IF NOT EXISTS test_tenant CHARSET='utf8mb4',ZONE_LIST=('zone1','zone2','zone3'), PRIMARY_ZONE='zone1;zone2,zone3', RESOURCE_POOL_LIST=('pool1') SET ob_tcp_invited_nodes='%' ;

  ```

## 确认租户是否创建成功

创建租户后，您可以通过查询 `oceanbase.DBA_OB_TENANTS` 视图来确认租户是否创建成功。

1. 使用 `root` 用户登录到数据库的 `sys` 租户。
 2. 执行以下语句，查看当前集群中是否有新创建的租户。

   示例如下：

   ```sql
   obclient> SELECT * FROM oceanbase.DBA_OB_TENANTS\G
   *************************** 1. row ***************************
            TENANT_ID: 1
         TENANT_NAME: sys
         TENANT_TYPE: SYS
         CREATE_TIME: 2022-07-04 14:27:07.909820
         PRIMARY_ZONE: RANDOM
            LOCALITY: FULL{1}@zone1
   PREVIOUS_LOCALITY: NULL
   COMPATIBILITY_MODE: MYSQL
               STATUS: TENANT_STATUS_NORMAL
      IN_RECYCLEBIN: NO
               LOCKED: NO
   *************************** 2. row ***************************
            TENANT_ID: 1001
         TENANT_NAME: META$1002
         TENANT_TYPE: META
         CREATE_TIME: 2022-07-04 14:40:17.802321
         PRIMARY_ZONE: zone1
            LOCALITY: FULL{1}@zone1
   PREVIOUS_LOCALITY: NULL
   COMPATIBILITY_MODE: MYSQL
               STATUS: TENANT_STATUS_NORMAL
      IN_RECYCLEBIN: NO
               LOCKED: NO
   *************************** 3. row ***************************
            TENANT_ID: 1002
         TENANT_NAME: MySQL
         TENANT_TYPE: USER
         CREATE_TIME: 2022-07-04 14:40:17.827586
         PRIMARY_ZONE: zone1
            LOCALITY: FULL{1}@zone1
   PREVIOUS_LOCALITY: NULL
   COMPATIBILITY_MODE: MYSQL
               STATUS: TENANT_STATUS_NORMAL
      IN_RECYCLEBIN: NO
               LOCKED: NO
   *************************** 4. row ***************************
            TENANT_ID: 1003
         TENANT_NAME: META$1004
         TENANT_TYPE: META
         CREATE_TIME: 2022-07-04 14:41:01.109771
         PRIMARY_ZONE: zone1
            LOCALITY: FULL{1}@zone1
   PREVIOUS_LOCALITY: NULL
   COMPATIBILITY_MODE: MYSQL
               STATUS: TENANT_STATUS_NORMAL
      IN_RECYCLEBIN: NO
               LOCKED: NO
   4 rows in set

   ```

   租户创建成功后，默认其管理员用户为 `root` 的密码为空，您需要及时修改管理员用户的密码， [修改用户密码](https://www.oceanbase.com/docs/community-observer-cn-10000000000902269)。

## 后续处理

租户创建成功后，您可以使用管理员用户登录并连接数据库，具体操作请参见 [连接数据库](https://www.oceanbase.com/docs/community-observer-cn-10000000000901559)。如果您需要使用普通用户登录，则需要为租户创建新的普通用户并授权，创建用户并授权的相关操作请参见 [管理用户和权限](https://www.oceanbase.com/docs/community-observer-cn-10000000000902261) 章节。

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