Files
oceanbase/docs/docs-cn/10.sql-reference/5.sql-statement/20.create-tenant.md
2022-02-10 14:51:49 +08:00

93 lines
4.0 KiB
Markdown

CREATE TENANT
==================================
描述
-----------
该语句用来创建租户。
格式
-----------
```javascript
CREATE TENANT [IF NOT EXISTS] tenantname
[tenant_characteristic_list] [opt_set_sys_var]
tenant_characteristic_list:
tenant_characteristic [, tenant_characteristic...]
tenant_characteristic:
COMMENT 'string'
|{CHARACTER SET | CHARSET} [=] charsetname
|COLLATE [=] collationname
|REPLICA_NUM [=] num
|ZONE_LIST [=] (zone [, zone...])
|PRIMARY_ZONE [=] zone
|DEFAULT TABLEGROUP [=] {NULL | tablegroup}
|RESOURCE_POOL_LIST [=](poolname [, poolname...])
|LOGONLY_REPLICA_NUM [=] num
|LOCALITY [=] 'locality description'
opt_set_sys_var:
{ SET | SET VARIABLES | VARIABLES } system_var_name = expr [,system_var_name = expr] ...
```
参数解释
-------------
| **参数** | **描述** |
|--------------------------|----------------------------------------------------------------------------------------------------------------------|
| tenant_name | 指定租户名。最长64个字节,只能有大小写英文字母,数字和下划线,而且必须以字母或下划线开头,并且不能是OceanBase的关键字。 |
| IF NOT EXISTS | 如果要创建的租户名已存在,并且没有指定IF NOT EXISTS,则会报错。 |
| RESOURCE_POOL_LIST | 资源池列表,为创建租户时的必填项,暂时只支持一个 RESOURCE POOL。 |
| DEFAULT TABLEGROUP | 设置租户默认表组信息,NULL 表示取消默认表组。如果不指定,默认为 NULL。 |
| COMMENT | 修改注释。 |
| CHARACTER SET \| CHARSET | 修改租户的字符集。 |
| COLLATE | 指定校对规则。 |
| REPLICA_NUM | 指定副本数。 |
| ZONE_LIST | 指定要修改的Zone列表。 |
| PRIMARY_ZONE | 指定主Zone。 |
| LOGONLY_REPLICA_NUM | 指定日志副本数。 |
| 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。 |
示例
-----------
* 创建租户。
```javascript
CREATE TENANT IF NOT EXISTS t1 charset='utf8mb4', replica_num=1, zone_list=('zone1'), primary_zone='zone1', resource_pool_list=('pool1');
```
* 创建oracle兼容模式租户
```javascript
CREATE TENANT IF NOT EXISTS t1 zone_list=('zone1'), primary_zone='zone1', resource_pool_list=('pool1') SET ob_compatibility_mode='oracle';
```
注意事项
-------------
只有用root用户连接到根租户(root@ROOT)才能执行 CREATE TENANT 去创建租户。