创建租户(实例)
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
查询系统资源占用情况
SELECT svr_ip,svr_port, cpu_total, mem_total, disk_total, zone FROM __all_virtual_server_stat ;
查询系统资源分配
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;
创建资源单元
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
查看租户
SELECT * FROM oceanbase.gv$tenant;
SHOW TENANT;