---
title: "CREATE TENANT - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: CREATE TENANT 描述 CREATE TENANT 语句用于创建用户租户。OceanBase 数据库仅支持创建用户租户，系统租户为集群创建时系统自动创建；Meta 租户是 OceanBase 数据库内部自管理的租户，每创建一个用户租户会创建一个对应的 Meta 租户，其生命周期与用户租户保持一致。 通过 C…
---
切换语言

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

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

# CREATE TENANT

更新时间：2026-04-16 00:11:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/500.sql-reference/100.sql-syntax/100.system-tenants/800.create-tenant.md)  

## 描述

`CREATE TENANT` 语句用于创建用户租户。OceanBase 数据库仅支持创建用户租户，系统租户为集群创建时系统自动创建；Meta 租户是 OceanBase 数据库内部自管理的租户，每创建一个用户租户会创建一个对应的 Meta 租户，其生命周期与用户租户保持一致。

通过 `CREATE TENANT` 语句创建的租户，默认其租户角色为 `PRIMARY`。

## 使用限制及注意事项

- OceanBase 数据库支持两种类型的租户，MySQL 兼容模式和 Oracle 兼容模式。创建租户时，需要指定合适的租户的类型。租户创建后，租户类型无法修改。
 - 创建租户时需要为租户分配资源池，需要提前做好资源规划并创建好资源池，创建资源池的相关操作请参见 [创建租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218355)。

## 权限要求

仅 `sys` 租户的 `root` 用户（`root@sys`）可以创建租户，其他租户不支持创建租户。

## 语法

创建租户的语法如下：

```sql
CREATE TENANT [IF NOT EXISTS] tenant_name
     [tenant_option_list] [set_sys_var];

tenant_option_list:
  tenant_option [, tenant_option...]

tenant_option:  
      LOCALITY [=] 'locality_description'
    | PRIMARY_ZONE [=] primary_zone_name
    | RESOURCE_POOL_LIST [=] (pool_name [, pool_name...])
    | ENABLE_ARBITRATION_SERVICE [=] {True | False}
    | {CHARACTER SET | CHARSET} [=] charset_name
    | COLLATE [=] collation_name
    | {READ ONLY | READ WRITE}
    | COMMENT [=] 'string'

set_sys_var:
       {SET | SET VARIABLES | VARIABLES} var_name {TO | =} var_value [,var_name {TO | =} var_value...]

```

## 参数说明

| 参数 | 描述 |
| --- | --- |
| tenant_name | 指定租户名。最长 63 个字节，只能为大小写英文字母，数字和下划线，而且必须以字母或下划线开头，并且不能是 OceanBase 数据库的关键字。 |
| IF NOT EXISTS | 如果要创建的租户名已存在，并且没有指定 `IF NOT EXISTS`，则会报错。 |
| LOCALITY | 描述副本在 Zone 间的分布情况。 例如：`F@z1,F@z2,F@z3` 表示 `z1`、`z2`、`z3` 为全功能副本。 |
| PRIMARY_ZONE | 指定租户所在的 Primary Zone。主要支持以下取值：   - `RANDOM`：指定租户的 Primary Zone 为租户所在的所有 Zone，表示租户所在的所有 Zone 具有相同的优先级。 - zone_name：指定租户的 Primary Zone 为具体的某个 Zone。     如果创建租户时未指定 Primary Zone，则默认取值为 `RANDOM`。 |
| RESOURCE_POOL_LIST | 指定分配给租户的资源池列表，创建租户时必须指定该参数。   如果有多个资源池，要求多个资源池的 `UNIT_NUM` 个数一致。   #### 注意    同一个租户的多个资源池，其对应的 `ZONE_LIST` 相互之间不允许有交集。 |
| ENABLE_ARBITRATION_SERVICE | 指定租户是否开启仲裁服务，如果不指定，默认值为 `False`。对于集群中有仲裁服务的场景，如果创建租户时未开启仲裁服务，可以在创建租户后再开启仲裁服务，详细操作请参见 [为租户开启仲裁服务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218299)。 |
| CHARACTER SET \| CHARSET | 指定租户级的字符集，有关字符集的详细介绍，请参见 [字符集（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222178) 和 [字符集（Oracle 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000580677)。 |
| COLLATE | 创建 MySQL 兼容模式的租户时，指定租户级的字符序。有关 MySQL 模式下字符序的详细介绍，参见 [字符序（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222182)。   #### 说明    创建 Oracle 兼容模式的租户时，不支持设置租户级字符序。如果设置了字符序，语法上不会报错，但设置并不会生效，系统会将其覆盖为字符集对应的默认字符序。 |
| READ ONLY \| READ WRITE | 指定租户的属性为只读还是读写。如果不指定，默认为读写属性。 |
| set_sys_var | 指定租户级的系统变量值。其中：   - `ob_compatibility_mode`：用于指定租户的兼容模式（可选 MySQL 或 Oracle 模式），而且只能在创建时指定；如果不指定 `ob_compatibility_mode`，则默认兼容模式为 MySQL； - `ob_tcp_invited_nodes`：用于指定租户连接的白名单，即允许哪些客户端 IP 连接该租户。示例中 `%` 表示所有客户端都可登录，如果不指定 `OB_TCP_INVITED_NODES` 的值，则默认租户的连接方式为仅允许本机的 IP 登录该租户。 - `lower_case_table_names`：用于控制大小写敏感，仅支持使用 `CREATE TENANT` 语句创建租户时指定并只在 MySQL 模式下生效，租户创建后不能通过 SQL 语句修改。 |
| COMMENT | 填写注释，可选。 |

## 示例

- 创建一个名为 `test_tenant` 的 MySQL 兼容模式的租户，Primary Zone 为 `zone1;zone2,zone3`，资源池为 `pool1`，字符集为 `utf8mb4`，允许所有客户端 IP 连接数据库。

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

  ```
 - 创建一个名为 `tenant1` 的 Oracle 兼容模式的租户，Primary Zone 为 `zone1`，资源池为 `pool1`，允许所有客户端 IP 连接数据库。

  ```sql
  obclient [oceanbase]>  CREATE TENANT tenant1 PRIMARY_ZONE='zone1', RESOURCE_POOL_LIST=('pool1') SET ob_compatibility_mode='oracle',  ob_tcp_invited_nodes='%';

  ```

## 相关文档

- [租户介绍](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218091)
 - [用户租户介绍](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218088)
 - [创建租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218355)

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