OB-SQL创建普通租户

创建租户(实例)

OceanBase 数据库默认会自动创建 sys 租户,sys 租户负责一部分 OceanBase 数据库的管理工作,并且能够访问系统元数据表,sys 自动预留了一定的资源。

创建普通租户

要使用 OceanBase 数据库,需要创建普通租户。业务数据必须在普通租户下运行。

使用 OBD 创建普通租户
obd cluster tenant create ${cluster_name} -n ${tenant_name}
使用 SQL 语句创建普通租户
使用 root 账号登陆到 sys 租户中,使用 MySQL 或 OBClient 访问 OceanBase 数据库
obclient -hxxxx -uroot@sys -P${port_num}  -Doceanbase -A

image-20210828231039087

查询系统资源占用情况
SELECT svr_ip,svr_port, cpu_total, mem_total, disk_total, zone FROM __all_virtual_server_stat ;

image-20210828231109339

查询系统资源分配
SELECT sum(c.max_cpu), sum(c.max_memory) FROM __all_resource_pool as a, __all_unit_config AS c WHERE a.unit_config_id=c.unit_config_id;

image-20210828231232729

创建资源单元
mysql> CREATE RESOURCE UNIT unit1
  max_cpu = 5,
  max_memory = 1932735284, 
  min_memory = 1932735284, 
  max_iops = 1000,
  min_iops = 128,
  max_session_num = 300,
  max_disk_size = 21474836480 -- 20 GB
;

CPU 和内存分别为步骤 2 和步骤 3 得到的值, max_cpu值设置为第二步得到的cpu_total 减去第三步得到的sum(c.max_cpu), 在本例中为5; max_memory和min_memory 设置为第二步的到的mem_total 值 减去 第三步的到的sum(c.max_memory)

创建资源池
CREATE RESOURCE POOL pool1
  UNIT = 'unit1',
  UNIT_NUM = 1
  -- , ZONE_LIST = ('zone1', 'zone2', 'zone3')
;

创建租户
CREATE TENANT IF NOT EXISTS test_tenant 
    charset='utf8mb4', 
    replica_num=1, 
    zone_list=('zone1'), 
    primary_zone='RANDOM', 
    resource_pool_list=('pool1')
;
登录租户之前,运行以下命令修改参数
 ALTER TENANT test_tenant SET VARIABLES ob_tcp_invited_nodes='%';
使用新的租户登录系统
obclient -h192.168.10.181 -P2881  -uroot@test_tenant -A -c

image-20210829103155648

查看租户

SELECT * FROM oceanbase.gv$tenant;

 SHOW TENANT;

image-20210829103316161

原文地址:https://www.cnblogs.com/binliubiao/p/15202043.html