文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql8新特性之binlog_expire_logs_seconds浅析

2023-02-28 11:34

关注

在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;</code>
<code>Query OK, 0 rows affected (0.00 sec)</code>
<code>mysql> show variables like '%expire_logs%';</code>
<code>+--------------------------------+-------+</code>
<code>| Variable_name                  | Value |</code>
<code>+--------------------------------+-------+</code>
<code>| binlog_expire_logs_seconds     | 604800|</code>
<code>| expire_logs_days               | 0     |</code>
<code>+--------------------------------+-------+</code>
<code>3 rows in set (0.00 sec)

--持久化:

mysql> set  persist binlog_expire_logs_seconds=604800;</code>
<code>Query OK, 0 rows affected (0.00 sec)

也可以通过修改配置文件,将binlog_expire_logs_seconds=604800 加到[mysqld]下

总结

如果 MySQL 每天的数据修改很少,产生的 binlog 很小,而max_binlog_size设置很大。每次在达到单个 binlog 的最大大小前,执行定时任务调用 xtrabackup 备份,备份时加的备份锁LOCK INSTANCE FOR BACKUPFLUSH NO_WRITE_TO_BINLOG BINARY LOGS会导致:binlog 刷新了,但是无法自动删除过期的 binlog 。新的 binlog 写一天没有达到最大大小,又进行备份,每天循环这个逻辑,导致过期的 binlog 越来越多,一直无法被自动删除。

当然,如果你使用的是 MySQL5.7,那并不会有这个问题,虽然 MySQL5.7 时备份时会加全局锁,但是并不影响过期 binlog 的自动删除。从这个角度看,这是个 bug,所以报给官方后很快被确认了:https://bugs.mysql.com/bug.php?id=104785

等待修复的过程是漫长的,如果你恰好遇见了这个冷门的 bug,可以把 max_binlog_size调小,保证在备份前 binlog 就能够达到最大大小,自然的刷新可以正常触发自动删除。

到此这篇关于mysql8新特性之binlog_expire_logs_seconds的文章就介绍到这了,更多相关mysql8新特性binlog_expire_logs_seconds内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯