MySQL - ALTER RESOURCE GROUP 语句



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

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

ALTER RESOURCE GROUP 语句

您可以使用 MySQL ALTER RESOURCE GROUP 语句修改现有资源组的 CPU 亲和性和线程优先级值。使用此语句,您还可以修改资源组的初始状态(ENABLE 或 DISABLE)。您需要 RESOURCE_GROUP_ADMIN 权限才能执行该语句。

语法

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

ALTER RESOURCE GROUP group_name
[VCPU [=] vcpu_spec [, vcpu_spec] ...]
[THREAD_PRIORITY [=] N]
[ENABLE|DISABLE]

其中,group_name 是您需要修改的组的名称。

更改 CPU 亲和性

CREATE RESOURCE GROUP 语句的 VPU 属性用于设置资源组的 CPU 亲和性。如果您没有传递此值,则该组将使用所有可用的 CPU。

假设我们通过为 CPU 亲和性提供一些值来创建一个资源组,如下所示:

CREATE RESOURCE GROUP sample_group1 TYPE = USER VCPU = 0,1,2,3;

以下查询更改上面创建的资源组的 CPU 亲和性值:

ALTER RESOURCE GROUP sample_group1 VCPU = 0;

线程优先级属性

线程优先级属性用于设置要创建的线程的优先级,如果您没有传递此值,则默认值为 0。资源组中线程的优先级范围为 -20 到 19。

假设我们创建了一个资源并将线程优先级值设置为 2,如下所示:

CREATE RESOURCE GROUP sample_group2 
TYPE = USER VCPU = 0 THREAD_PRIORITY = 2;

以下查询更改上面创建的查询的线程优先级:

ALTER RESOURCE GROUP sample_group2 THREAD_PRIORITY = 15;

ENABLE 属性

如果您在查询中使用 ENABLE(属性值),则资源组最初处于启用状态;同样,如果您在语句中指定 DISABLE,则资源组最初处于禁用状态。

假设我们通过将此值设置为 DISABLE 来创建了一个资源组,如下所示:

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

以下查询修改上面创建的资源组:

ALTER RESOURCE GROUP sample_group3 ENABLE;

更改不存在的资源组

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

ALTER RESOURCE GROUP none THREAD_PRIORITY = 15;
ERROR 3651 (HY000): Resource Group 'none' does not exist.
广告
© . All rights reserved.