深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 758|回复: 2
打印 上一主题 下一主题

binlog的删除

[复制链接]

104

主题

171

帖子

1177

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1177
跳转到指定楼层
楼主
发表于 2019-6-17 00:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数:

expire_logs_days = 3

表示保留3天的日志,这样老日志会自动被清理掉。

手动清理方法2:(推荐)


如果没有主从复制,可以通过下面的命令重置数据库日志,清除之前的日志文件:

reset master


慎用!会清空
回复

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
沙发
发表于 2020-3-10 13:40:46 | 只看该作者
今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。

1、查看binlog日志
  1. mysql> show binary logs;
复制代码


2、删除某个日志文件之前的所有日志文件
  1. purge binary logs to 'mysql-bin.000035';
复制代码


3、清理2019-09-09 13:00:00前binlog日志
  1. PURGE MASTER LOGS BEFORE '2019-09-09 13:00:00';
复制代码


4、清理3天前binlog日志
  1. PURGE MASTER LOGS BEFORE DATE_SUB(NOW( ), INTERVAL 3 DAY);
复制代码

--BEFORE,变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。这里的清理是指从此刻-3243600s前的文件,是此文件最后更新的时间。
--时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号,以防不小心将正在使用的binlog删除!!!
--切勿删除正在使用的binlog!!!

5、重置所有的日志
  1. reset master;
复制代码


6、手动切换binlog日志
  1. flush logs
  2. --或者flush binary logs
复制代码
回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
板凳
发表于 2021-9-8 22:27:17 | 只看该作者
show binary logs;

purge binary logs to 'mysql-bin.000004';
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-4 21:26 , Processed in 0.024474 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表