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;
廣告