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;
广告
© . All rights reserved.