Skip to content

Latest commit

 

History

History
96 lines (71 loc) · 2.54 KB

sql-statement-set-resource-group.md

File metadata and controls

96 lines (71 loc) · 2.54 KB
title summary
SET RESOURCE GROUP
TiDB 数据库中 SET RESOURCE GROUP 的使用概况。

SET RESOURCE GROUP

SET RESOURCE GROUP 用于设置当前会话使用的资源组。

语法图

SetResourceGroupStmt:

SetResourceGroupStmt ::=
    "SET" "RESOURCE" "GROUP" ResourceGroupName

ResourceGroupName ::=
    Identifier
|   "DEFAULT"

权限

要执行此命令,需满足以下配置和权限:

  1. tidb_enable_resource_control 设置为 ON
  2. 当系统变量 tidb_resource_control_strict_mode 设置为 ON时,你需要有 SUPER 或者 RESOURCE_GROUP_ADMIN 或者 RESOURCE_GROUP_USER 权限;当设置为 OFF 时,则无需上述权限。

示例

创建一个用户 user1,创建两个资源组 rg1rg2,并将用户 user1 绑定资源组 rg1

CREATE USER 'user1';
CREATE RESOURCE GROUP 'rg1' RU_PER_SEC = 1000;
ALTER USER 'user1' RESOURCE GROUP `rg1`;

使用 user1 登录,查看当前用户绑定的资源组。

SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| rg1                      |
+--------------------------+
1 row in set (0.00 sec)

执行 SET RESOURCE GROUP 将当前会话的资源组设置为 rg2

SET RESOURCE GROUP `rg2`;
SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| rg2                      |
+--------------------------+
1 row in set (0.00 sec)

执行 SET RESOURCE GROUP 设置当前会话使用默认资源组。

SET RESOURCE GROUP `default`;
SELECT CURRENT_RESOURCE_GROUP();
+--------------------------+
| CURRENT_RESOURCE_GROUP() |
+--------------------------+
| default                  |
+--------------------------+
1 row in set (0.00 sec)

MySQL 兼容性

MySQL 也支持 SET RESOURCE GROUP,但是接受的参数和 TiDB 不同,两者并不兼容。

另请参阅