首批通过分布式安全可靠测评,为关键业务系统打造
CREATE TENANT
更新时间:2023-08-07 17:30:43
描述
该语句用来创建租户。
只有用 root 用户连接到 sys 租户才能使用 CREATE TENANT 语句创建租户。
语法
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
| 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 | 指定租户名。最长 128 个字符,只能有大小写英文字母,数字和下划线,而且必须以字母或下划线开头,并且不能是 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 | 指定 Primary 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。 |
示例
创建租户。
obclient> CREATE TENANT IF NOT EXISTS t1 charset='utf8mb4', replica_num=1, zone_list=('zone1'), primary_zone='zone1', resource_pool_list=('pool1');创建 Oracle 兼容模式租户。
obclient> CREATE TENANT IF NOT EXISTS t1 zone_list=('zone1'), primary_zone='zone1', resource_pool_list=('pool1') SET ob_compatibility_mode='oracle';