在mysql 8.0版本中新增了binlog_expire_logs_seconds,该参数表示binlog的失效日期单位秒。
8.0之前的版本,binlog的失效日志用expire_logs_days来配置,单位是天。
当mysql启动时,参数文件中binlog_expire_logs_seconds和expire_logs_days都没配置的时候,mysql会使用binlog_expire_logs_seconds作为默认配置,并且默认值为2592000秒,即30天。
当mysql启动时,参数文件中binlog_expire_logs_seconds和expire_logs_days有一个设置为非0值则非0值的参数作为binlog日志的失效期。
在使用了binlog_expire_logs_seconds作为binlog的配置文件,此时在修改expire_logs_days会抛出错误,不允许同时使用binlog_expire_logs_seconds和expire_logs_days.
该参数支持动态修改,并且支持持久化到配置文件:
mysql> set global binlog_expire_logs_seconds=604800;Query OK, 0 rows affected (0.00 sec)mysql> show variables like '%expire_logs%';+--------------------------------+-------+| Variable_name | Value |+--------------------------------+-------+| binlog_expire_logs_seconds | 604800|| expire_logs_days | 0 |+--------------------------------+-------+3 rows in set (0.00 sec)
--持久化:
mysql> set persist binlog_expire_logs_seconds=604800;Query OK, 0 rows affected (0.00 sec)
也可以通过修改配置文件,将binlog_expire_logs_seconds=604800 加到[mysqld]下
文章转载自数据库这点小事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




