首页 > 数据库 >MySQL 持久化系统变量

MySQL 持久化系统变量

时间:2024-08-23 14:27:00浏览次数:10  
标签:set 持久 变量 MySQL persist 服务器

set persist会将变量持久化到文件 mysqld-auto.cnf 文件中,该文件位于数据目录下。reset persist会移除 mysqld-auto.cnf 文件中持久化的变量。

 

MySQL 可以在运行时持久化全局系统变量。虽然许多系统变量可以在启动时通过 my.cnf 配置文件设置,或在运行时使用 set 语句设置,但这些配的方法要么需要登录访问服务器主机,要么不提供运行时或远程持久配置服务器的功能:

·修改配置文件需要直接访问该文件,而访问该文件需要登录到 MySQL 服务器主机。这并不总是很方便。

·使用 set global(全局)修改系统变量是一种运行时功能,可以通过本地运行的客户端或远程主机完成,但更改只影响当前运行的服务器实例。这些设置不是持久性的,重启后就不存在了。

 

除了编辑配置件或使用 set global 之外,为了增强服务器配置的管理能力,MySQL 还提供了 set 语法的变种,可以将系统变量设置持久化到数据目录中名为 mysqld-auto.cnf 的文件中。比如:

set persist max_connections = 1000;
set @@persist.max_connections = 1000;

set persist和set global类似,在 MySQL 运行时设置,但是会写入到 mysqld-auto.cnf文件中

 

set persist_only back_log = 100;
set @@persist_only.back_log = 100;

set persist_only只是将变量持久化到 mysqld-auto.cnf文件中,但不是运行时生效。更适合配置只读变量。

持久化系统变量的特点

持久化系统变量的服务器配置具有以下特点:

·持久化设置在 MySQL 运行时进行。

·持久化设置是永久性的。它们适用于服务器重启。

·可通过本地客户端或从远程主机连接的客户端进行持久化设置。这为从单一客户端主机远程配置多个 MySQL 服务器提供了便利。

·要持久化系统变量,你不需要拥有 MySQL 服务器主机的登录权限或配置文件的文件系统访问权限。持久化设置的能力由 MySQL 权限系统控制。

·拥有足够权限的管理员可以通过持久化系统变量来重新配置服务器,然后通过执行 restart 语句使服务器立即使用更改后的设置。

·持久化设置可提供即时的错误反馈。手动输入设置中的错误可能不会被发现。

移除持久化的变量

reset persist;移除 mysqld-auto.cnf文件中所有的持久化变量

reset persist system_var_name;移除指定名称的持久化变量

reset persist if exists system_var_name;如果不存在,则会给出警告

查询持久化的变量信息

表 performance_schema.persisted_variables 提供了一个sql接口,访问文件mysqld-auto.cnf的内容;表 performance_schema.variables_info 提了是哪个用户以及在最近哪个时间点持久化过变量。

reset persist 会影响表 performance_schema.persisted_variables 的内容,但是不会影响表 performance_schema.variables_info 的内容。

标签:set,持久,变量,MySQL,persist,服务器
From: https://www.cnblogs.com/abclife/p/18371405

相关文章

  • 【Python】函数的定义和调用、形参和实参、函数的返回值、多元赋值、全局和局部变量
    文章目录函数的定义函数的调用形参和实参函数的返回值一个return多个return多元赋值变量作用域函数内的变量全局变量和局部变量修改全局变量函数的定义函数的定义:分配任务def函数名(形参列表): 函数体 return返回值def:define,定义形参列表中,可以有多个形......
  • 重置MySQL表中自增字段的起始id
    导言在进行项目开发的时候,往往会自己编辑一些测试用例,但是这些用例会影响我们自增字段的起始id,虽然对我们项目没有多大影响,但是对于强迫症来说,不是从1顺着一个一个开始,感觉很不适应,所以特意搜了一下方法,然后记录一下处理方法mysql给我们提供了强大的函数功能,其中ALTERTABLE......
  • 自定义安装Mysql版本
    自定义安装Mysql版本mysql下载地址:https://downloads.mysql.com/archives/community/1.下载wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar--2024-08-2010:15:39--https://downloads.mysql.com/archives/get/p/23/......
  • Python3测试mysql插入数据代码(chatgpt生成)
      实现的功能:先连接mysql数据库,然后读取某个目录所有以txt文件命名后缀的json内容文件,解析出对应的key和value,然后插入数据到mysql数据库,最后关闭数据库连接 importosimportjsonimportpymysqlimportre"""尝试插入json文件到MySQL数据库。dbInfo:MySQL数据库......
  • 利用ibd2sql直接读取mysql8数据文件数据
    MySQL8.0之后,表结构和表数据统一放到了ibd文件中,该文件包含了表的结构和索引以及数据信息。MySQL支持利用ibd2sdi来进行解析ibd文件下载地址:https://github.com/ddcw/ibd2sql/archive/refs/tags/v1.5.tar.gz[[email protected]]#ibd2sdi/data/mysqldata/data/test01/t......
  • 编程创建一个Cale计算类,在其中定义2个变量表示两个操作数,定义四个方法实现求和、差、
    1publicclassHomework06{2//编写一个main方法3publicstaticvoidmain(String[]args){45Calecale=newCale(2,10);6System.out.println("和="+cale.sum());7System.out.println("差="+cale.minus());......
  • Kettle: create_sampledata_mysql
    USEsampledate;CREATETABLEsampledata.QUADRANT_ACTUALS(REGIONVARCHAR(50)NOTNULL,DEPARTMENTVARCHAR(50)NOTNULL,POSITIONTITLEVARCHAR(50)NOTNULL,ACTUALDECIMAL(18,4),BUDGETDECIMAL(18,4),VARIANCEDECIMAL(18,4));CREATETABLEsampledata.DEPARTME......
  • 【MySQL】语法 · 备忘录
    原创巴韭特锁螺丝一、连接MySQL二、数据库三、表四、表结构五、表数据六、表数据——连接查询七、键八、函数九、视图十、存储过程十一、备份还原十二、用户很多时候深入学习固然很重要,但是想要写下一篇给新手都能看得懂看的很香,并且老鸟可以查漏补缺的的练习......
  • Python-批量统计MySQL中表的数据量
    背景在数据中台中,有时为了核对数据,需要每天批量统计MySQL数据库中表的数据量,但是DMS中没有周期调度功能。MySQL创建表--统计的表清单CREATETABLE`dws_table_list`(`table_name`varchar(255)DEFAULTNULL,`flag`varchar(255)DEFAULTNULL);--每天的数据量CRE......
  • 05-03 Map Persistent Objects to Database Views(将持久对象映射到数据库视图 )
    MapPersistentObjectstoDatabaseViews(将持久对象映射到数据库视图)CreateaPersistentClass(创建持久类)Createapersistentclass.Theclassnameshouldmatchtheviewname.创建一个持久类。类名应与视图名匹配。AssignthePersistentattributetotheper......