Documentation Home

13.7.8.7 RESET PERSIST 语句

RESET PERSIST [[IF EXISTS] system_var_name]

RESET PERSISTmysqld-auto.cnf从数据目录中的选项文件中删除持久的全局系统变量设置 。删除持久化的系统变量会导致变量不再 mysqld-auto.cnf在服务器启动时进行初始化。有关持久化系统变量和 mysqld-auto.cnf文件的更多信息,请参阅 第 5.1.9.3 节,“持久化系统变量”

在 MySQL 8.0.32 之前,该语句不适用于名称中包含点字符(.)的变量,例如 MyISAM多个键缓存变量和组件注册的变量。(缺陷号 33417357)

所需的权限RESET PERSIST取决于要删除的系统变量的类型:

请参阅第 5.1.9.1 节,“系统变量权限”

根据变量名称和IF EXISTS子句是否存在, RESET PERSIST语句具有以下形式:

  • 要从 中删除所有持久变量 mysqld-auto.cnf,请 在RESET PERSIST不命名任何系统变量的情况下使用:

    RESET PERSIST;

    mysqld-auto.cnf如果包含两种 变量,您必须具有删除动态和只读系统变量的权限 。

  • 要从 中删除特定的持久变量 mysqld-auto.cnf,请在语句中将其命名:

    RESET PERSIST system_var_name;

    这包括插件系统变量,即使当前未安装该插件。如果文件中不存在该变量,则会发生错误。

  • 要从 中删除特定的持久变量 mysqld-auto.cnf,但如果该变量不在文件中则产生警告而不是错误,IF EXISTS请在前面的语法中添加一个子句:

    RESET PERSIST IF EXISTS system_var_name;

RESET PERSIST不受 persisted_globals_load系统变量值的影响。

RESET PERSIST影响性能模式 persisted_variables表的内容,因为表内容对应于 mysqld-auto.cnf文件的内容。另一方面,因为RESET PERSIST不改变变量值,所以variables_info 在服务器重新启动之前,它对性能模式表的内容没有影响。

有关RESET 清除其他服务器操作状态的语句变体的信息,请参阅第 13.7.8.6 节,“RESET 语句”