Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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 之间。

    • 范围以 M - N 的形式给出,其中 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 亲和力(可以使用所有 CPU)且优先级最高:

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

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