Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.7.2.2 创建资源组语句

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

vcpu_spec: {N | M - N}

CREATE RESOURCE GROUP 用于资源组管理(见第7.1.16节,“资源组”)。这个语句创建一个新的资源组并分配其初始属性值。它需要RESOURCE_GROUP_ADMIN特权。

group_name 标识要创建的资源组。如果资源组已经存在,会发生错误。

必需的TYPE属性应该是SYSTEM,用于系统资源组,USER用于用户资源组。资源组类型影响允许的THREAD_PRIORITY值,后面会有描述。

必需的VCPU属性表示CPU亲和性,即资源组可以使用的虚拟CPU集:

  • 如果不给出VCPU,资源组没有CPU亲和性,可以使用所有可用CPU。

  • 如果给出VCPU,属性值是逗号分隔的CPU号或范围:

    • 每个号码必须是一个从0到CPU数量-1之间的整数。例如,在64个CPU系统中,号码可以在0到63之间。

    • 范围以形式MN 给出,其中M 小于或等于N,且两个数字都在 CPU 范围内。

    • 如果 CPU 号码是一个不在允许范围内的整数或不是整数,就会发生错误。

示例VCPU 指定符(这些都是等价的):

VCPU = 0,1,2,3,9,10
VCPU = 0-3,9-10
VCPU = 9,10,0-3
VCPU = 0,10,1,9,3,2

属性THREAD_PRIORITY 表示分配给组的线程优先级:

  • 如果不指定THREAD_PRIORITY,默认优先级为 0。

  • 如果指定了THREAD_PRIORITY,属性值必须在 -20(最高优先级)到 19(最低优先级)的范围内。系统资源组的优先级必须在 -20 到 0 的范围内,用户资源组的优先级必须在 0 到 19 的范围内。不同范围确保用户线程永远不高于系统线程。

ENABLEDISABLE 指定资源组是初始启用或禁用。如果没有指定,组默认启用。禁用的组不能分配线程。

示例:

  • 创建一个优先级最低的用户组,拥有单个 CPU:

    CREATE RESOURCE GROUP rg1
      TYPE = USER
      VCPU = 0
      THREAD_PRIORITY = 19;
  • 创建一个优先级最高的系统组,拥有所有 CPU:

    CREATE RESOURCE GROUP rg2
      TYPE = SYSTEM
      THREAD_PRIORITY = -20
      DISABLE;

资源组管理是发生在服务器上的本地操作。CREATE RESOURCE GROUP 语句不写入二进制日志,不会被复制。