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
会影响性能架构 persisted_variables
表的内容,因为表内容对应于 mysqld-auto.cnf
文件的内容。另一方面,因为 RESET PERSIST
不会更改变量值,因此它不会影响性能架构 variables_info
表的内容,直到服务器重新启动。
有关 RESET
语句变体的信息,请参阅 第 15.7.8.6 节,“RESET 语句”。