云数据库 GAUSSDB(FOR MYSQL)-多租户管理与资源隔离:用户级资源配置

时间:2024-10-28 17:02:19

用户级资源配置

租户下的用户默认共享当前租户的资源,若要进行用户级资源限制,请使用本节提供的用户级资源配置接口。

共享租户无法进行用户级资源配置。

  • 资源消费组(consumer_group)管理

    多个用户可以归属到同一个资源消费组(consumer_group),这些用户共享资源消费组所关联的资源,通过租户下的用户连接数据库,进行资源消费组管理。

    创建消费组

    dbms_resource_manager.create_consumer_group (
       consumer_group     CHAR(128),
       comment            CHAR(2000));
    • consumer_group:资源消费组名称,仅支持包含大写字母、小写字母、数字或下划线。
    • comment:资源消费组说明,可为''。

    添加用户到资源消费组/从资源消费组中移除用户

    dbms_resource_manager.set_consumer_group_mapping ( 
       attribute        CHAR(128),  
       value            varbinary(128),  
       consumer_group   CHAR(128));
    • attribute:要添加或修改的映射属性,当前版本仅支持USER。
    • value:要添加或修改的映射属性,当前版本仅支持用户名。
    • consumer_group:资源消费组名称,当参数不为空时将用户添加到资源消费组,当参数为空('')时,将用户从所在的资源消费组中移除。

    删除消费组

    dbms_resource_manager.delete_consumer_group (
        consumer_group   CHAR(128));
    • consumer_group:资源消费组名称。
    • 删除consumer_group的时候会同步删除该资源消费组对应的plan_directive以及consumer_group_mapping。
    • 如果特性开关打开,删除用户时,会自动将用户从已关联的资源消费组中移除。当特性关闭时,删除用户时不会自动从已关联的资源消费组中移除,但不会有任何影响,当后续重新打开特性时,如果发现关联到资源消费组的用户已经被删除,会自动将这些用户从已关联的资源消费组中移除。
    • 如果特性开关打开,重命名用户时,不影响用户与资源消费组的关联关系。如果特性开关关闭后,删除用户,再创建同名用户,后续打开特性,该用户依然属于原有的资源消费组。

    查看资源消费组

    视图DBA_RSRC_CONSUMER_GROUPS记录了资源消费组信息。如果在系统租户下查看,则可以查询到所有租户的资源消费组信息,如果在普通租户下查看,只能看到当前租户下的资源消费组信息。

    select * from information_schema.DBA_RSRC_CONSUMER_GROUPS;

    查看资源消费组和用户的关联关系

    视图DBA_RSRC_GROUP_MAPPINGS记录了用户和资源消费组的关联关系。如果在系统租户下查看,则可以查询到所有租户的用户和资源消费组的关联关系,如果在普通租户下查看,只能看到当前租户下的用户和资源消费组的关联关系。

    select * from information_schema.DBA_RSRC_GROUP_MAPPINGS;
support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0053.html