云数据库 TAURUSDB-多租户管理与资源隔离:数据库管理
数据库管理
数据库分为系统租户下的数据库和普通租户下的数据库。系统租户可以访问所有数据库,普通租户只能访问属于自己的数据库。
- 在系统租户下管理数据库
创建系统租户的数据库:
CREATE DATABASE [IF NOT EXISTS] `db_name`;
创建普通租户的数据库:
CREATE DATABASE [IF NOT EXISTS] `db_name@tanant_name`;
删除数据库
删除系统租户的数据库:
DROP DATABASE [IF EXISTS] `db_name`;
删除普通租户的数据库:
DROP DATABASE [IF EXISTS] `db_name@tanant_name`;
- 在普通租户下管理数据库
CREATE DATABASE [IF NOT EXISTS] 'db_name';
删除当前租户的数据库:
DROP DATABASE [IF EXISTS] 'db_name';
- 在系统租户下需要以db_name@tenant_name的方式对普通租户下的数据库进行操作。
- 系统库SYS、MYSQL暂不允许普通租户访问。
- 租户内不可以创建部分特殊DB:INFORMATION_SCHEMA, PERFORMANCE_SCHEMA, MYSQL, SYS, __recyclebin__。
- 存量数据库分配租户
为保证兼容性,升级或者迁移到多租实例后,存量的数据库默认属于系统租户,可以通过如下语法将存量的数据库分配给租户。此外,对于已经开启多租特性后,系统租户创建的且未分配给普通租户的数据库,也可通过如下语法分配数据库给对应租户。
数据库分配
将数据库分配给租户名为tenant_name的普通租户
ALTER DATABASE db_name TENANT = `tenant_name`;
将数据库回收到系统租户下
ALTER DATABASE db_name TENANT = ``;
查看映射关系
SELECT * FROM information_schema.DBA_RSRC_TENANT_DB;
- 仅在高权限root用户下可使用。
- 如果数据库是开启多租后创建的,以db_name@tenant_name格式命名的数据库不允许分配调用此接口,接口会返错。
- 如果tenant不存在,且不为空,接口返错。
- 通过租户下的用户连接数据库
在普通租户下,指定用户时,需要以user_name@tenant_name的形式;指定数据库时,支持db_name和db_name@tenant_name两种形式。
mysql --host=**** -u user1@tenant_1 -D db1 -p pwssword; mysql --host=**** -u user1@tenant_1 -D db1@tenant_1 -p pwssword;
连接成功后,该用户将受到对应租户下的资源限制。
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- 如何使用应用管理与运维平台环境管理功能_环境管理_创建环境_纳管资源
- 关系数据库管理系统_云数据库_数据库应用
- 通过CMDB管理复杂应用与资源配置关系_应用运维管理_AOM-华为云
- 云数据库 RDS for PostgreSQL数据库权限_PG数据库管理_华为云
- 云数据库的特性有哪些_云数据库安全
- GaussDB权限管理_GaussDB数据库权限管理_高斯数据库权限管理_华为云
- 免费数据库服务器_数据库免费_免费数据库有哪些
- 免费的MySQL云数据库_数据库管理系统有哪些_MySQL查询表
- 免费缓存数据库_KV数据库redis场景_云数据库资源免费领取_缓存数据库2