前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL Binlog和Relaylog生成和清理

MySQL Binlog和Relaylog生成和清理

作者头像
zhangdd
发布2020-03-20 13:23:05
1.9K0
发布2020-03-20 13:23:05
举报
文章被收录于专栏:zhangdd.comzhangdd.com

BINLOG文件生成与删除 binlog文件生成: 在每条二进制日志写入到日志文件后,会判断该文件是否超过max_binlog_size,如果超过则生成一个新的binlog

binlog文件删除: 1>当使用RESET MASTER命令后,会清空全部二进制日志 命令:RESET MASTER;

2>当执行PURGE MASTER LOG TO命令后,会删除指定binlog以及之前的二进制日志 命令:PURGE MASTER LOGS TO ‘binlog file name’;

3>当执行PURGE MASTER LOG BEFORE 命令后,会删除指定时间前的所有二进制 命令:PURGE MASTER LOGS TO ‘datetime’;

4>当实例启动或执行flush logs时,按照expire_logs_days设置,如果超过该参数指定天数的二进制会被全部删除 命令:mysqladmin flush-log

清理binlog文件顺序: 先从文件系统中清理文件,再修改索引文件。

RELAY LOG生产与删除 Relay Log rotate 机制: Rotate:每从Master fetch一个events后,判断当前文件是否超过max_relay_log_size 如果超过则自动生成一个新的relay-log-file Delete: purge-relay-log 在SQL Thread每执行完一个events时判断,如果该relay-log 已经不再需要则自动删除 Delete: expire-logs-days 只在 实例启动时 和 flush logs 时判断,如果文件访问时间早于设定值,则purge file (同Binlog file) (updated: expire-logs-days和relaylog的purge没有关系) PS: 因此还是建议配置 expire-logs-days , 否则当我们的外部脚本因意外而停止时,还能有一层保障。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档