首页 > 数据库 >MySQL8中binlog过期参数

MySQL8中binlog过期参数

时间:2023-05-25 10:47:33浏览次数:46  
标签:binlog logs MySQL8 seconds days 过期 expire 日志

binlog_expire_logs_seconds

设置二进制日志过期时间(以秒为单位)。二进制日志文件过期后,可以被自动删除。可能的删除发生在启动时和刷新二进制日志(flush logs、或日志容量超过max_binlog_size的设置)时。

默认的二进制日志过期时间为2592000秒,即30天(30*24*60*60秒)。

如果binlog_expire_logs_seconds和已弃用的系统变量expire_logs_days都没有在启动时设置值,则应用默认值。

如果在启动时设置了binlog_expire_logs_seconds或expire_logs_days其中一个变量的非零值,则使用该值作为二进制日志的过期时间。

如果在启动时设置了这两个变量为非零值,则binlog_expire_logs_seconds的值将用作二进制日志的过期时间,而expire_logs_days的值将被忽略并发出警告消息。

在运行时,如果binlog_expire_logs_seconds或expire_logs_days当前被设置为非零值,则不能将另外一个设置为非零值。

由于binlog_expire_logs_seconds的默认值不为零,因此必须显式地将binlog_expire_logs_seconds设置为零,才能设置或更改expire_logs_days的值。

从MySQL 8.0.29开始,可以通过将binlog_expire_logs_auto_purge系统变量设置为OFF来禁用二进制日志的自动清除。这优先于binlog_expire_logs_seconds的任何设置。

在MySQL 8.0.28及更早的版本中,要禁用自动清除二进制日志,请显式地为binlog_expire_logs_seconds指定值0,并且不要为expire_logs_days指定值。

为了与早期版本兼容,如果显式地为expire_logs_days指定值为0,而不为binlog_expire_logs_seconds指定值,自动清除也将被禁用。在这种情况下,不应用binlog_expire_logs_seconds的默认值。

要手动删除二进制日志文件,请使用PURGE binary LOGS语句。

 

binlog_expire_logs_auto_purge

启用或禁用自动清除二进制日志文件。将此变量设置为ON(默认值)将启用自动清除;将其设置为OFF将禁用自动清除。清理前等待的时间间隔由binlog_expire_logs_seconds和expire_logs_days控制。

即使设置binlog_expire_logs_auto_purge为on,如果将binlog_expire_logs_seconds和expire_logs_days都设置为0,自动清理日志功能也不会生效。

 

expire_logs_days

在8中,已经过期。将来会被移除。

 

标签:binlog,logs,MySQL8,seconds,days,过期,expire,日志
From: https://www.cnblogs.com/abclife/p/17430442.html

相关文章

  • 同步mysql数据库binlog用户所需要权限
    同步mysqlbinlog用户读写权限报错提示doesnothaveREPLICATION_CLENTprivilege 使用场景:常用于阿里云flink同步数据库binlog使用解决方案:fiink cdc 的表用户,需要有Replicationclient,Replicationslave权限。授权命令如下:grantReplicationclienton*.* toods_base@......
  • MySQL8.0清空binlog
    环境centos7.9mysql Ver8.0.32登录MySQL,查看binlog日志#查看binlog日志开启状态,log_bin值为ON表示开启状态mysql>showvariableslike'log_bin';+---------------+-------+|Variable_name|Value|+---------------+-------+|log_bin|ON|+---------......
  • MySQL8.0配置my.cnf
    环境centos7.9因为是源码安装的MySQL8.0.32,查了一下MySQL8.0之后源码中不包含my.cnf文件和my-default.cnf文件了。手动创建一个my.cnf,放到默认目录/etc下,以后修改配置可以从my.cnf文件中修改,重启生效,相当于永久生效。文件内容:暂时先配这些,后期再扩展[client]port=3306soc......
  • #yum安装mysql8.0.32修改二进制日志位置报错mysqld: File '/data/mysql/logbin/mysql-
    #yum安装mysql8.0.32修改二进制日志位置报错mysqld:File'/data/mysql/logbin/mysql-bin.index'notfound(OSerrno13-Permissiondenied)[root@master-DNSmysql]#cat/var/log/mysql/mysqld.log2023-05-22T09:08:36.149861Z0[Warning][MY-010918][Server]'d......
  • MySql8修改root密码,修改用户名
    usemysql;updateusersetauthentication_string=''whereuser='root';//root设为空ALTERuser'root'@'localhost'IDENTIFIEDBY'root';//root密码设为rootflushprivileges;//刷新权限 usemysql;......
  • Linux MySQL 修改数据和binlog文件目录
    概述系统:CentOS7.6MySQL数据库安装,默认数据库文件和binlog文件都在/var/lib/mysql目录下,若Linux系统安装时,未为根目录分配较大硬盘空间,很容易导致系统根目录硬盘空间不够用,从而导致MySQL服务或系统卡死或挂掉。故需要修改MySQL数据库文件和binlog文件目录。步骤1、停止MySQL服务roo......
  • 简单封装JWTUtils实现对token的创建和过期时间检查
    想要使用jwt需要先导入依赖<!--https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></depend......
  • Oracle版面本的MySQL8.0的配置文件 my.cnf
    ##############################创建用户和用户组:groupaddworkuseraddwork  准备目录:mkdir-p/home/work/mysql_3306mkdir-p/home/work/mysql_3306/datamkdir-p/home/work/mysql_3306/etcmkdir-p/home/work/mysql_3306/tmpmkdir-p/home/work/mysql_3306/logmkd......
  • 58.oracle密码过期
    一般oracle数据库中创建的用户默认是180天过期,一般如果想让它永不过期,可以进行如下设置:1.使用dba用户登录sqlplus/assysdba2.查看口令失效用户的profile文件SELECTusername,profileFROMdba_userswhereusername='xxxx'; #这里主要查看用户对应的profile文件。3.查看......
  • mysql8之json/数组的增删改查
    前言,类型必须是json,虽然text也可以,但是很多操作没法使用,比如查询,当然了,这种类型还可以存储数组类似varchar,设置JSON主要将字段的type是json,不能设置长度,可以是NULL但不能有默认值。创建jsonjson_array创建json数组json_object创建json对象查询jsonjson_contain......