描述

该语句用来创建租户。

格式

  1. CREATE TENANT [IF NOT EXISTS] tenantname
  2. [tenant_characteristic_list] [opt_set_sys_var]
  3. tenant_characteristic_list:
  4. tenant_characteristic [, tenant_characteristic...]
  5. tenant_characteristic:
  6. COMMENT 'string'
  7. |{CHARACTER SET | CHARSET} [=] charsetname
  8. |COLLATE [=] collationname
  9. |REPLICA_NUM [=] num
  10. |ZONE_LIST [=] (zone [, zone…])
  11. |PRIMARY_ZONE [=] zone
  12. |DEFAULT TABLEGROUP [=] {NULL | tablegroup}
  13. |RESOURCE_POOL_LIST [=](poolname [, poolname…])
  14. |LOGONLY_REPLICA_NUM [=] num
  15. |LOCALITY [=] 'locality description'
  16. opt_set_sys_var:
  17. { 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。

示例

  • 创建租户。
  1. CREATE TENANT IF NOT EXISTS t1 charset='utf8mb4', replica_num=1, zone_list=('zone1'), primary_zone='zone1', resource_pool_list=('pool1');
  • 创建oracle兼容模式租户
  1. 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 去创建租户。