15.7.8.7 重置 PERSIST 语句
RESET PERSIST [[IF EXISTS] system_var_name]
RESET PERSIST
将从数据目录中的 mysqld-auto.cnf
选项文件中删除 persisted 全局系统变量设置。删除 persisted 系统变量将使变量不再在服务器启动时从 mysqld-auto.cnf
文件中初始化。关于 persisted 系统变量和 mysqld-auto.cnf
文件的更多信息,请见第7.1.9.3节,“persisted 系统变量”。
对RESET PERSIST
的权限依赖于要删除的系统变量类型:
-
对于动态系统变量,这个语句需要
SYSTEM_VARIABLES_ADMIN
特权(或弃用的SUPER
特权)。 -
对于只读系统变量,这个语句需要
SYSTEM_VARIABLES_ADMIN
和PERSIST_RO_VARIABLES_ADMIN
特权。
根据变量名和 IF EXISTS
take 的形式,RESET PERSIST
语句具有以下形式:
-
删除
mysqld-auto.cnf
中所有 persisted 变量,使用RESET PERSIST
不指定任何系统变量:RESET PERSIST;
您必须具有删除动态和只读系统变量的权限,如果
mysqld-auto.cnf
文件包含这两种类型的变量。 -
删除特定的 persisted 变量从
mysqld-auto.cnf
,在语句中指定变量名:RESET PERSIST system_var_name;
这包括插件系统变量,即使插件当前未安装。如果变量不在文件中,出现错误。
-
删除特定的 persisted 变量从
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 语句”。