MySQL - 删除资源组语句



在 MySQL 中,您可以创建资源组并将线程分配给这些组。这些线程根据组中资源的可用性执行,即组属性控制资源,组中的线程受可用资源的限制。

MySQL 提供各种语句来创建、更改、删除资源组以及将线程分配给资源组。

删除资源组语句

您可以使用 MySQL DROP RESOURCE GROUP 语句删除现有资源组。您需要 RESOURCE_GROUP_ADMIN 权限才能执行该语句。

语法

以下是 MySQL DROP RESOURCE GROUP 语句的语法:

CREATE RESOURCE GROUP group_name
   TYPE = {SYSTEM|USER}
   [VCPU [=] vcpu_spec [, vcpu_spec] ...]
   [THREAD_PRIORITY [=] N]
   [ENABLE|DISABLE]

其中,group_name 是您需要删除的组的名称。

示例

假设我们使用 CREATE RESOURCE GROUP 语句创建了一个资源组,如下所示:

CREATE RESOURCE GROUP test_group TYPE = USER 
VCPU = 0 THREAD_PRIORITY = 2 DISABLE;

以下查询将删除上面创建的资源组:

DROP RESOURCE GROUP test_group;

如果您尝试删除不存在的资源组,则会生成如下错误:

DROP RESOURCE GROUP none;
ERROR 3651 (HY000): Resource Group 'none' does not exist.

FORCE 子句

删除现有资源组时,如果它包含线程,则会生成错误。在这种情况下,如果您使用 FORCE 子句,则该组的线程将移动到默认组,然后该组将被删除。

示例

假设我们创建了一个资源组,如下所示:

CREATE RESOURCE GROUP sample TYPE = USER;

如果我们将当前线程分配给上面创建的资源组,如下所示:

SET RESOURCE GROUP sample;

现在,如果您尝试删除资源组 sample 而不使用 FORCE 子句,则会生成如下错误:

DROP RESOURCE GROUP sample;
ERROR 3656 (HY000): Resource group sample is busy.

如果您使用 FORCE 子句,则资源组将被删除,不会出现错误(即使它包含资源)。

DROP RESOURCE GROUP sample FORCE;
广告
© . All rights reserved.