在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中。

试举一例

mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_connections        | 151  |
| mysqlx_max_connections | 100  |
+------------------------+-------+
2 rows in set (0.00 sec)mysql> set persist max_connections=200;
Query OK, 0 rows affected (0.00 sec)mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_connections        | 200  |
| mysqlx_max_connections | 100  |
+------------------------+-------+
2 rows in set (0.00 sec)

全局变量的修改会保存在两处,
1.  数据目录下mysqld-auto.cnf文件,
注意,不是启动时--defaults-file指定的配置文件。

[root@slowtech ~]# cat /var/lib/mysql/mysqld-auto.cnf
{ "Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "200" , "Metadata" : { "Timestamp" : 1525509217566258 , "User" : "root" , "Host" : "localhost" } } } }

持久化信息以json格式保存,其中,Metadata记录了这次修改的用户及时间信息。
在数据库启动时,会首先读取其它配置文件,最后才读取mysqld-auto.cnf文件。不建议手动修改该文件,其有可能导致数据库在启动过程中因解析错误而失败。如果出现这种情况,可手动删除mysqld-auto.cnf文件或将persisted_globals_load变量设置为off来避免该文件的加载。
2. performance_schema.persisted_variables
mysql> select * from performance_schema.persisted_variables;
+-----------------+----------------+
| VARIABLE_NAME  | VARIABLE_VALUE |
+-----------------+----------------+
| max_connections | 200            |
+-----------------+----------------+
1 row in set (0.00 sec)

全局变量的持久化除了SET PERSIST外,还有SET PERSIST_ONLY,与前者相比,其只持久化全局变量,而不修改其内存值。同时,在权限方面,前者只需要SYSTEM_VARIABLES_ADMIN,后者还需要PERSIST_RO_VARIABLES_ADMIN权限。
对于已经持久化了变量,可通过RESET PERSIST命令清除掉,注意,其只是清空mysqld-auto.cnf和performance_schema.persisted_variables中的内容,对于已经修改了的变量的值,不会产生任何影响。
除此之外,还可以通过下述方式将全局变量持久化为默认值。注意,是默认值,而不是修改前的值。
mysql> set persist max_connections=default;

这个命令同“set global max_connections=default”类似,都会将变量的值设置为默认值,只不过前者还会将默认值持久化到配置文件中。

转载于:https://www.cnblogs.com/ivictor/p/9037931.html

MySQL 8 新特性之持久化全局变量的修改相关推荐

  1. 【MySQL】MySQL 8 新特性

    1. 默认字符集由latin1变为utf8mb4 在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默认指向的也是utf8mb4 ...

  2. mysql mts_MySQL新特性MTS

    一.MTS:多线程复制 MTS简介 在MySQL 5.6版本之前,Slave服务器上有两个线程I/O线程和SQL Thread线程.I/O线程负责接收二进制日志(Binary Log,更准确的说是二进 ...

  3. mysql derived2_MySQL · 新特性分析 · 5.7中Derived table变形记-阿里云开发者社区

    Derived table实际上是一种特殊的subquery,它位于SQL语句中FROM子句里面,可以看做是一个单独的表.MySQL5.7之前的处理都是对Derived table进行Material ...

  4. MySQL 8新特性--InnoDB相关新特性

    文章目录 6.1. auto-increment 6.2.innodb_deadlock_detect 6.3. INFORMATION_SCHEMA.INNODB_CACHED_INDEXES 6. ...

  5. Oracle 20c 新特性:持久化内存数据库 - Persistent Memory Database

    导读:随着硬件技术的不断进步,PMEM (Persistent Memory)已经足够成熟,开始进入到数据库加速领域,在 DRAM 和 Flash 之间提供能更强的 IO 层支撑.自 Oracle 2 ...

  6. 华为云数据库 MySQL 内核新特性上线,首家彻底解决用户上云需改造应用的问题

    最新消息,搭载 HWSQL 内核的华为云数据库 MySQL,近期上线了几大关键特性.其中通过深入改造.去除社区版 GTID 约束限制的特性,更是首家彻底解决了用户上云需要对应用进行改造的问题. GTI ...

  7. mysql applier_新特性解读 | MySQL 8.0.18 有权限控制的复制

    背景 MySQL 8.0.18 以前,从服务器都是在不检查权限的情况下执行复制事务的,这样做是为了能够让主服务器获取所有内容.实际上,这意味着从机完全信任主机.但是,可能存在一些设置,其中更改跨越了主 ...

  8. Mysql的新特性--MRR

    目录 MRR原理 举例 磁盘IOPS的计算规则 开启了 MRR 顺序读带来了几个好处: 拆分查询条件,进行批量查询 使用限制 相关参数 源码浅谈 a.MRR 中有序主建的收集过程 b.MRR 中主建缓 ...

  9. mysql failover_新特性解读 | MySQL 8.0.22 新特性 Async Replication Auto failover

    作者:洪斌 爱可生南区负责人兼技术服务总监,MySQL  ACE,擅长数据库架构规划.故障诊断.性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融.运营商.互联网等行业客户提 ...

  10. mysql query browswer_MySQL数据库新特性之存储过程入门教程

    MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...

最新文章

  1. CTF-Xortool,windows上的安装与使用
  2. solor快速_快速简单高效的搭建 SolrCloud 集群
  3. Windows 7各服务项介绍
  4. Start wpf application from windows service
  5. 034_nginx报错总结
  6. PyTorch入门-语言模型
  7. python连接数据库oracle_python 连接oracle数据库:cx_Oracle
  8. GNS3连接VMware中虚拟主机,能相互ping通
  9. 学创客机器人编程材料费贵吗_创客机器人课程容易学习吗
  10. java b s用户管理系统_基于B/S的教务信息管理系统
  11. 课程设计思路-学习笔记
  12. 初探机器学习之使用讯飞TTS服务实现在线语音合成
  13. 为什么存储服务器硬盘格式化不,硬盘为什么不能格式化
  14. 2020年河南省计算机对口升学分数线,2020年河南省单招分数线出来了吗?
  15. 矩阵求和c语言通俗易懂
  16. 我和关注我的1w个粉丝“合影”啦–爬取上万个粉丝的数据并进行数据可视化分析,收获满满
  17. Python编程语句
  18. codables一种更好的方式快速解析数据
  19. android 内存溢出问题分析
  20. 从零开始搭建Node.js, Express, Ejs, Mongodb服务器

热门文章

  1. 【渝粤教育】电大中专液压与气动技术作业 题库
  2. C++ const总结
  3. Centos 7 下配置codeblocks13.12的googletest单元测试环境
  4. 【完美】mac word2016 安装 endnote x9
  5. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)--宋宝华...
  6. Java对象toString()方法
  7. Python基础【day03】:文件操作(七)
  8. [转]asp 没有权限: 'CreateObject'的解决方法
  9. phantom.js - HTML To PDF
  10. C++的四种强制转型形式: