=====================================================================================
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 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 , 否则当我们的外部脚本因意外而停止时,还能有一层保障。

MySQL Binlog和Relaylog生成和清理的更多相关文章

  1. 看数据库的文件大小 MySQL Binlog日志的生成和清理规则

    小结: 1.避免并行大大事务对磁盘.内存的消耗: MySQL数据文件导致实例空间满的解决办法_空间/内存_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/kno ...

  2. MySQL bin-log 日志清理方式

    MySQL bin-log 作用   1.数据恢复:如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失. 2.主从服务器之间同步数据:主 ...

  3. 【转载】Mysql binlog relaylog 日志迁移

    背景:   默认情况下,mysql的数据.binlog.relaylog都是保存在同一个磁盘上,路径根据每个人的设置不一. 当mysql数据库中数据或日志增长很快时,磁盘可能面临空间不够或者IO性能跟 ...

  4. 自动清理MySQL binlog日志

    开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被binlog日志占满,导致MySQL数据库出错. 使用下面方法可以安全清理b ...

  5. MySQL binlog 自动清理脚本

    # vim /data/scripts/delete_mysql_binlog.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  6. 再深入一点|binlog和relay-log到底长啥样?

    上一篇mysql面试的文章之后收到不少朋友的意见,希望深入讲讲复制.日志的格式这些,今天,我们就来深挖一下mysql的复制机制到底有哪一些,以及binlog和relay-log的结构到底是什么样子的. ...

  7. MySQL Binlog的介绍

    binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中: 作用:MySQL的作用类似于Oracle的归档日志,可以用来查看数据库的变 ...

  8. 腾讯工程师带你深入解析 MySQL binlog

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯云数据库内核团队 发布在云+社区 1.概述 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的red ...

  9. 教你MySQL Binlog实用攻略

    本文由云+社区发表 1.概述 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志:其主要是用来记录对mysql数据更新或潜在发 ...

随机推荐

  1. 《Python》线程之锁、信号量、事件、条件、定时器、队列

    一.锁 线程为什么要有锁: += .-= 赋值操作数据不安全(要经过取值.计算.放回值,3部操作) pop .append 都是数据安全的(只有添加和删除,一次操作) 队列也是数据安全的 1.同步锁 ...

  2. 三. Python基础(3)--语法

    三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...

  3. SQL-25 获取员工其当前的薪水比其manager当前薪水还高的相关信息

    题目描述 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01',结果第一列给出员工的emp_no,第二列给出其manager的manager_ ...

  4. DOM&BOM

    文档对象模型(Document Object Model) 来源:文档对象模型(Document Object Model)的历史与20世纪90年代末Netscape Navigator和Micros ...

  5. <Spark><Running on a Cluster>

    Introduction 之前学习的时候都是通过使用spark-shell或者是在local模式运行spark 这边我们首先介绍Spark分布式应用的架构,然后讨论在分布式clusters中运行Spa ...

  6. 转-Asynchronous bulk transfer using libusb

    https://falsinsoft.blogspot.jp/2015/02/asynchronous-bulk-transfer-using-libusb.html The 'linusb' is ...

  7. centos的mysql升级之后密码重置

    1.配置文件添加过滤密码选项 #vim  /etc/my.cnf 跳过密码校验 2.重启mysql服务 #/etc/init.d/mysqld  restart 3.#mysql -uroot -p ...

  8. ios表单验证帮助类

    // // ValidateHelper.h // #import <Foundation/Foundation.h> @interface ValidateHelper : NSObje ...

  9. Spring的PropertyPlaceholderConfigurer

    在项目中我们一般将配置信息(如数据库的配置信息)配置在一个properties文件中,如下: jdbcUrl=jdbc:mysql://localhost:3306/flowable?useUnico ...

  10. HDU 1166 敌兵布阵(线段树点更新区间求和裸题)

    Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任 ...