MySQL - RESET PERSIST 語句



MySQL RESET PERSIST 語句

您可以使用 RESET PERSIST 語句從 MySQL 伺服器中移除全域性變數。一旦您使用此語句刪除變數,它將不再在 mysqld-auto.cnf 檔案中可用。要使用此語句移除動態系統變數,您需要 SYSTEM_VARIABLES_ADMIN 許可權;要移除只讀系統變數,您還需要 PERSIST_RO_VARIABLES_ADMIN 許可權。

語法

以下是 MySQL RESET PERSIST 語句的語法。

RESET PERSIST [[IF EXISTS] system_var_name]

其中,`system_var_name` 是您需要刪除的全域性變數的名稱。

示例

MySQL 中的 SET 語句用於為變數賦值。使用它,我們可以設定一個持久變數,例如:

SET PERSIST max_relay_log_size = 12;

SET @@PERSIST.max_relay_log_size = 12;

以下語句將上述建立的全域性變數從 mysqld-auto.cnf 檔案中刪除:

RESET PERSIST max_relay_log_size;

移除所有持久變數

如果您在不指定任何變數的情況下執行 RESET PERSIST 變數,則 mysqld-auto.cnf 中的所有變數都將被刪除。

RESET PERSIST;

IF EXISTS 子句

如果您嘗試從 mysqld-auto.cnf 中移除不存在的全域性變數,則會生成如下所示的錯誤:

RESET PERSIST max_relay_log_size;
ERROR 3615 (HY000): Variable max_relay_log_size does not 
exist in persisted config file

如果您將 IF EXISTS 子句與 RESET PERSIST 語句一起使用,如下所示,則指定的變數將被刪除;如果不存在具有給定名稱的變數,則該查詢將被忽略。

DROP TABLE IF EXISTS max_relay_log_size;
廣告