RESET PERSIST [[IF EXISTS] system_var_name]
RESET PERSIST
从数据目录中的 mysqld-auto.cnf
选项文件中删除持久化的全局系统变量设置。删除持久化的系统变量会导致该变量在服务器启动时不再从 mysqld-auto.cnf
初始化。有关持久化系统变量和 mysqld-auto.cnf
文件的更多信息,请参见 第 7.1.9.3 节,“持久化系统变量”.
执行 RESET PERSIST
所需的权限取决于要删除的系统变量的类型。
对于动态系统变量,此语句需要
SYSTEM_VARIABLES_ADMIN
权限(或已弃用的SUPER
权限)。对于只读系统变量,此语句需要
SYSTEM_VARIABLES_ADMIN
和PERSIST_RO_VARIABLES_ADMIN
权限。
请参见 第 7.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
会影响 Performance Schema persisted_variables
表的内容,因为表内容对应于 mysqld-auto.cnf
文件的内容。另一方面,由于 RESET PERSIST
不更改变量值,因此它不会影响 Performance Schema variables_info
表的内容,直到服务器重新启动。
有关清除其他服务器操作状态的 RESET
语句变体的详细信息,请参见 第 15.7.8.6 节,“RESET 语句”。