MySQL通过binlog和relay log进行主从数据的同步,binlog由主库产生,从库通过复制io线程拉取binlog,写入到relay log中,sql线程读取relay log中的事务信息,并进行应用。

正常情况下,binlog和relay log并不需要人为干预删除,但是在某些场景下,比如数据写入量大,磁盘空间小,binlog保留的时间设置的过长,这时候就需要人工清理binlog。

binlog日志清除

MySQL提供了两个参数来自动清除binlog日志,expire_logs_days表示日志保留的天数,默认值为0,即不会自动清除,通常设置为7天自动清除。除了expire_logs_days参数外,Percona MySQL 版本还添加了一个max_binlog_files参数,表示binlog保留的最大个数,比如设置为20,即最多保留20个binlog文件,每个binlog文件的大小由参数 max_binlog_size设置,通常设置为1G。

expire_logs_daysmax_binlog_files除了上述两个参数外,通过执行purge命令也能手动删除binlog文件,比如删除到某个binlog文件为止,或者删除到最新的binlog。

purge binary logs to 'mysql-bin.000002';purge binary logs before now();另外reset master 也会清除binlog,这个命令比较危险,除了会清除binlog外,也会清除已执行的gtid相关信息,这个操作会立即导致从库复制中断,除非你真的了解这个命令的作用,否则慎用,也不推荐使用这个命令删除binlog文件。

最后,在极端情况下,如果binlog已经把磁盘写满,这时候连接到MySQL执行清除binlog的命令会被卡住,那么只能手动删除binlog物理文件了,尝试删除最旧的几个binlog文件,然后再连接到MySQL,执行清除binlog的命令。

relay log日志清除

relay log通常不需要人工清理,因为从库的复制线程在应用完relay log中的事务后,会自动把relay log删除。每次复制的IO线程重启,都会生成一个新的relay log,每个relay log文件的大小由参数max_relay_log_size控制,该参数默认为0,即表示其大小和binlog文件大小一致,通常也为1G。

从库上有些命令,也会导致relay log文件被清除,比如:reset slave 和 reset slave all。这两个命令会将relay log文件全部删除,并且生成新的索引从1开始的relay log文件。

mysql relay log_mysql binlog和relay log日志如何清除相关推荐

  1. linux清除log日志,linux清除log日志

    1.删除文件命令:find  对应目录  命令选项 实例命令 find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm ...

  2. mysql未开启binlog恢复数据_MYSQL bin_log 开启及数据恢复

    参考博客: A:https://www.jianshu.com/p/55b0d52edca2 B:https://www.cnblogs.com/martinzhang/p/3454358.html ...

  3. MYSQL专题-MySQL三大日志binlog、redo log和undo log

    日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括重做日志(redo log).回滚日志(undo log).二进制日志(bin log).错误日志(err ...

  4. 必须了解的MySQL三大日志:binlog、redo log和undo log

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者: 六点半起床 juejin.im/post/68602522 ...

  5. 必须了解的mysql三大日志-binlog、redo log和undo log

    来源:https://juejin.im/post/6860252224930070536 日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括错误日志. ...

  6. MYSQL专题-使用Binlog日志恢复MySQL数据

    大家有没有碰到过由于误操作把测试数据库的一张表给删除了,导致测试的数据都被删除了,然后手足无措,测试把你一定数落,顿时感觉自己要死了?今天就教你即使误删了也可以将删除的数据恢复,以后误删再也不用惊吓了 ...

  7. mysql正确清理binlog日志的方法

    MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对binlog使用正确安全的方法清理掉一部分没 ...

  8. mysql数据库log_MySQL之六----MySQL数据库各种日志管理

    事务日志: 事务日志的写入类型为"追加",因此其操作为"顺序IO":通常也被称为:预写式日志 write ahead logging 事务日志文件: ib_lo ...

  9. MySQL查询字段区不区分大小写? innodb的事务与日志的实现方式?binlog的几种日志录入格式以及区别?

    MySQL查询字段区不区分大小写? MySQL innodb的事务与日志的实现方式 MySQL binlog的几种日志录入格式以及区别 MySQL查询字段区不区分大小写? 答案是不区分 如何解决需要区 ...

  10. MySQL——binlog,redo log

    一.什么是binlog.redo log binlog属于逻辑日志,是逻辑操作.innodb redo属于物理日志,是物理变更.逻辑日志有个缺点是难以并行,而物理日志可以比较好的并行操作. binlo ...

最新文章

  1. 一种用于360度全景视频超分的单帧多帧联合网络
  2. 图灵5周年系列活动之科普大爆炸(免费!)
  3. python 测试框架之---testtools
  4. SQLServer 2005删除无主键表中的重复项
  5. EMNLP 2020 | 通过Contrast Set评估模型的局部决策边界
  6. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)
  7. 为什么 MySQL 回滚事务也会导致 ibd 文件增大?
  8. 关于SAP Spartacus的Action - LoadCmsPageData
  9. 无需部署即可测试JPQL / HQL
  10. 操作系统之内存管理:4、基本地址变换机构(段氏、页式、段页式)
  11. iPhone第二季度在美销量降23%,但iPhone SE有亮点
  12. leetcode python3 简单题58. Length of Last Word
  13. 我的Linux笔记5--我要连网
  14. BZOJ1565 [NOI2009]植物大战僵尸(拓扑排序 + 最大权闭合子图)
  15. 学习笔记/音视频面试
  16. win7计算机打开显卡设置在哪,Win7显卡设置在哪里 win7系统如何设置显卡
  17. BZOJ 1106: [POI2007]立方体大作战tet
  18. Android实例-手机安全卫士(四十一)-选择自定义Toast背景
  19. crypt-5+n凯撒密码
  20. 面试自我介绍5句话公式

热门文章

  1. Flask开发实现在线问答系统首页功能
  2. vue读取地址栏参数
  3. Json 文件中出现 Expected value at 1:0 问题的解决
  4. 阶梯形矩阵(Echelon Matrix)
  5. Lync Server 2013 实战系列之七:标准版-测试内部登陆
  6. HBuilderX 插件下载失败 解决
  7. 腾讯QQ、新浪微博第三方登录接口申请说明
  8. 《论文写作》——课程总结
  9. PyTorch笔记 - Dropout: A Simple Way to Prevent Neural Networks from Overfitting
  10. Python基础教程--【2022暑假全新总结】