Mysql数据库清理binlog日志命令详解

别自制压力,我们没有必要跟着时间走,只需跟着心态和能力走,随缘,尽力,达命,问心无愧,其他的,交给天。

概述

今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。

1、查看binlog日志

mysql> show binary logs;


2、删除某个日志文件之前的所有日志文件

purge binary logs to 'mysql-bin.000035';


3、清理2019-09-09 13:00:00前binlog日志

PURGE MASTER LOGS BEFORE '2019-09-09 13:00:00'; 


4、清理3天前binlog日志

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

5、重置所有的日志

reset master;


6、手动切换binlog日志

flush logs 
--或者flush binary logs


当你某天把所有binlog日志全干掉,数据库没有产生新的日志的时候就可以用手动切换这个方式来产生了..

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

您可能有感兴趣的文章
centos7安装MySQL教程

MySQL常用SQL查询语句(含复杂SQL查询)

MySQL细数发生索引失效的情况

mysqlenum字段类型的谨慎如何使用

Mysql体系化探讨令人头疼的JOIN运算