MySQL 8.0新特性 -- 持久化全局变量
2020-04-01 22:50 abce 阅读(1024) 评论(0) 编辑 收藏 举报在之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8.0开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | >show variables like 'max_connections' ; + ------------------------+-------+ | Variable_name | Value | + ------------------------+-------+ | max_connections | 151 | + ------------------------+-------+ 1 rows in set (0.01 sec) > set global .max_connections=155; Query OK, 0 rows affected (0.00 sec) >show variables like 'max_connections' ; + ------------------------+-------+ | Variable_name | Value | + ------------------------+-------+ | max_connections | 155 | + ------------------------+-------+ 1 rows in set (0.01 sec) |
查看持久化的变量
修改之后,data目录下会多出一个文件mysqld-auto.cnf。可以直接查看该文件
1 2 3 | # more mysqld-auto.cnf { "Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "155" , "Metadata" : { "Timestamp" : 1585748279787787 , "User" : "root" , "Host" : "localhost" } } } } |
也可以通过表查看:
1 2 3 4 5 6 7 | mysql> select * from performance_schema.persisted_variables; + -----------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | + -----------------+----------------+ | max_connections | 160 | + -----------------+----------------+ 1 row in set (0.00 sec) |
在数据库启动时,会首先读取其它配置文件,最后才读取mysqld-auto.cnf文件
执行set persist需要不同的权限,取决于系统变量的类型:
·动态的系统变量,set persist需要system_variables_admin或super权限
·只读的系统变量,set persist需要system_variables_admin和persist_ro_variables_admin权限
set persist设置的变量不仅运行时生效,还会将变量写入mysqld-auto.cnf
set persist_only将变量写入mysqld-auto.cnf,但是不会影响运行时的变量值。重启后才会生效。
移除持久化变量
·reset persist:移除mysqld-auto.cnf中所有的变量
·reset persist system_var_name:移除mysqld-auto.cnf中名为system_var_name的变量
·reset persist IF exists system_var_name:如果变量不存在,不会报错,只会给出warning提示
注意,其只是清空mysqld-auto.cnf和performance_schema.persisted_variables中的内容,对于已经修改了的变量的值,不会产生任何影响。
通过下述方式将全局变量持久化为默认值。注意,是默认值,而不是修改前的值。
mysql> set persist max_connections=default;
这个命令同“set global max_connections=default”类似,都会将变量的值设置为默认值,只不过前者还会将默认值持久化到配置文件中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2017-04-01 12C -- ORA-01017