MySQL 8.0 新特性:Persisted System Variables

文若3年前技术文章926


一、前言

MySQL 5.7 之前我们修改参数变量后,需要将其手动写入到服务端配置文件中,否则重启后又恢复原有的配置,在 8.0 中可以在 MySQL 客户端直接将参数持久化,节省在服务器操作的步骤,下面我们一起测试一下,


二、测试

max_connections 参数为例:

carbon-1.png

目前 `max_connectios` 设置为 1000 当我们使用 set global 设置为 1200 后,参数并没有持久化,重启之后依然为 1000 👇

carbon (1).png

重启 MySQL 参数依然为 1000

carbon (2).png

接下来我们使用 8.0 新特性 PERSIST 测试一下

SET PERSIST max_connections = 1200;

carbon-1.png

重启 MySQL 发现 max_connections = 1200 参数已经被持久化

carbon-1.png

二、原理

当使用 PERSIST 关键字时,变量更改将更新到数据目录中的 mysqld-auto.cnf 选项文件。mysqld-auto.cnf 是仅在第一次执行 PERSIST 或 PERSIST_ONLY 语句时创建的 JSON 格式文件。内容如下👇

carbon-1.png

  • SET PERSIST
    语句可以修改内存中变量的值,并且将修改后的值写⼊数据⽬录中的 mysqld-auto.cnf 中。

  • SET PERSIST_ONLY
    语句不会修改内存中变量的值,只是将修改后的值写⼊数据⽬录中的 mysqld-auto.cnf 中。


当需要修改只读变量时,如果使用 PERSIST 会出👇错误:
ERROR 1238 (HY000): Variable 'innodb_log_file_size' is a read only variable
此时需要使用 PERSIST_ONLY 修改,重启后生效。


清空变量设置


RESET PERSIST;


需要的权限


GRANT SYSTEM_VARIABLES_ADMIN, PERSIST_RO_VARIABLES_ADMIN, SHUTDOWN on *.* to 'admin'@'localhost';



相关文章

kafka日志数据清理策略

kafka日志数据清理策略

1.关于Kafka的日志在Kafka中,日志分为两种:1、数据日志是指Kafka的topic中存储的数据,这种日志的路径是$KAFKA_HOME/config/server.properties文件中...

hdfs数据迁移

hdfs数据迁移

通过使用distcp进行数据全量迁移DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作...

详解迁云流程

详解迁云流程

一、现有云端环境梳理可以通过阿里云工单申请导出网络架构图,在图的信息上梳理阿里云现有架构二、制定迁移方案根据梳理的信息,确定实例迁移的方案,有夸账号迁移,跨地域迁移,IDC上云等不同场景。需要考虑的是...

MySQL 添加列报错处理

MySQL 添加列报错处理

一、添加列报错(65535)表添加列收到报错,具体 SQL 和报错信息如下:ALTER TABLE table ADD column varchar(256) NULL COMMENT '个人打款授权...

大数据基础之HDFS入门

大数据基础之HDFS入门

一、NameNode是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。二、NameNode的工作特点Namenode始终在内存中保存meteda...

EMR-java配置国密SM4加密

EMR-java配置国密SM4加密

首先找到bcprov-jdk15on-1.56.jar这个包<dependency>    <groupId>org.bouncycastle</groupId> ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。