mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
| mysql-bin. | |
| mysql-bin. | |
| mysql-bin. | |
| mysql-bin. | |
+------------------+-----------+
rows in set (0.00 sec)

删除列于指定日志之前的所有日志,但不包括指定的日志:

mysql> purge binary logs to 'mysql-bin.000002';
Query OK, rows affected (0.10 sec) mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
| mysql-bin. | |
| mysql-bin. | |
| mysql-bin. | |
+------------------+-----------+
rows in set (0.00 sec)

查看binlog是否开启:

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
row in set (0.01 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin. | | test,test2 | |
+------------------+----------+--------------+------------------+
row in set (0.00 sec)

删除2016-08-22 16:00:00时间点之前的日志:

mysql> purge binary logs before '2016-08-22 16:00:00';
Query OK, rows affected (0.16 sec) mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
+------------------+-----------+
row in set (0.00 sec)

注意事项:

在删除binlog日志同时,也会清理MySQL-bin.index的文件记录,清理完后命令中指定的日志文件成为第一个。

[root@DB-S data]# cat mysql-bin.index
./mysql-bin.

主从架构下,如果复制正在进行中,执行该命令是安全的,例如slave正在读取我们要删除的log,该语句将什么也不会做,并返回一个错误;如果复制是停止的,我们删除了一个slave还未读取的日志,则复制重新建立连接时将会失败。

指定过期天数(expire_logs_days):该参数为全局动态调整参数,默认值为0,即关闭,取值范围0-99;

mysql> SHOW VARIABLES LIKE 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | |
+------------------+-------+
row in set (0.00 sec)

这里我设置过期天数为:一周

mysql> set global expire_logs_days = ;
Query OK, rows affected (0.00 sec) mysql> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | |
+------------------+-------+
row in set (0.01 sec)

注意:在双机复制环境下,应确保过期天数不应小于从机追赶主机binlog日志的时间。

触发过期删除的条件:

1重启MYSQL;

2BINLOG文件大小达到参数max_binlog_size限制;

3手动执行命令。

重置binlog(reset master)

mysql> reset master;
Query OK, rows affected (0.26 sec) mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin. | | test,test2 | |
+------------------+----------+--------------+------------------+
row in set (0.00 sec)
mysql> system cat mysql-bin.index
./mysql-bin.

该方法可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个以.000001为后缀新的二进制日制文件,并删除,过去生成的二进制日志,如下:

mysql> system ls
ceshi DB-S-relay-bin. DB-S-relay-bin. ib_logfile0 mysql-bin. sx
chenlin DB-S-relay-bin. DB-S-relay-bin. ib_logfile1 mysql-bin.index test
DB-S.err DB-S-relay-bin. DB-S-relay-bin.index master.info performance_schema test2
DB-S.pid DB-S-relay-bin. ibdata1 mysql relay-log.info
mysql> flush logs;
Query OK, rows affected (0.24 sec) mysql> system ls
ceshi DB-S-relay-bin. ib_logfile1 relay-log.info
chenlin DB-S-relay-bin. master.info sx
DB-S.err DB-S-relay-bin. mysql test
DB-S.pid DB-S-relay-bin. mysql-bin. test2
DB-S-relay-bin. DB-S-relay-bin.index mysql-bin.
DB-S-relay-bin. ibdata1 mysql-bin.index
DB-S-relay-bin. ib_logfile0 performance_schema
mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
| mysql-bin. | |
+------------------+-----------+
rows in set (0.00 sec) mysql> reset master;
Query OK, rows affected (0.19 sec) mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
+------------------+-----------+
row in set (0.00 sec) mysql> system ls
ceshi DB-S-relay-bin. ibdata1 mysql-bin.index
chenlin DB-S-relay-bin. ib_logfile0 performance_schema
DB-S.err DB-S-relay-bin. ib_logfile1 relay-log.info
DB-S.pid DB-S-relay-bin. master.info sx
DB-S-relay-bin. DB-S-relay-bin. mysql test
DB-S-relay-bin. DB-S-relay-bin.index mysql-bin. test2

该语法一般只用在主从环境下初次建立复制时。     在主从复制进行过程中,该语句是无效的。

主从环境下的配置步骤:
    a. 启动master和slave,开启replication(即复制)
    b. 在master上运行一些测试的语句,看数据是否能够复制到 slave上面
    c. 当复制运行正常的话,就在从上stop slave 然后执行 reset slave,去掉不需要的数据 
    d. 在master上面执行reset master 清除测试产生的数据

二进制日志BINARY LOG清理的更多相关文章

  1. mysql运维-二进制日志BINARY LOG清理

       1.1 方法1:PURGE MASTER LOGS     语法: PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetim ...

  2. MySQL 二进制日志(Binary Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld ...

  3. mysql 二进制日志binary log操作简单命令

    show master status \G; #查看当前正在记录的二进制日志 show binary logs; #查看binary log 所有文件列表 show binlog events; #查 ...

  4. 关于binary log那些事——认真码了好长一篇

    本文介绍binlog的作用以及几个重要参数的使用方法,同时通过实验来描述binlog内部记录内容:row .statement跟mixed的设置下,记录了哪些东西,最后会简单介绍下binlog ser ...

  5. 关于binary log一点总结[转]

    阅读目录(Content) 1 what's binary log 2 Binary Logging Options and Variables 2.1 基础参数 3 Binary Logging F ...

  6. MySQL二进制日志(binary log)总结

    本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  7. mysql中如何开启binlog?开启二进制日志文件?binary log?

    需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...

  8. MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结

    MySQL中有六种日志文件,分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log).一 ...

  9. mysql错误日志/var/log/mariadb/mariadb.log,二进制日志

    mariadb-日志 IT_luo关注0人评论65人阅读2018-10-15 08:59:03   mariadb日志 mariadb日志: 1.查询日志:query log: 2.慢查询日志:slo ...

随机推荐

  1. Android学习笔记02-Mac下编译java代码

    在Mac OS上配置JDK 1.7. 一 下载 Mac版本的JDK1.7 从以下下载地址,下载Mac版本的JDk1.7 安装文件 jdk-7u79-macosx-x64.dmg. http://www ...

  2. XUnit学习

    1.建立测试单元项目 2.引用XUnit.dll或者在Nuget里安装XUnit 3.安装Nuget->xUnit.net[Runner: Visual Studio] 4.打开 测试-> ...

  3. Spark Graphx In Action

    两个重要的技术:Spark和graphs 本章节内容 为什么Spark是最先进的大数据处理系统 是什么让图可以以一种独特的方式来模拟关联数据 GraphX为什么会成规领先的图分析平台

  4. Ubuntu 12.04 安装 Chrome浏览器

    1,先到chrome官网下载一个安装包 http://www.google.com/intl/zh-CN/chrome/ 2,ctrl+alt+t 打开终端. 3,在终端里输入sudo apt-get ...

  5. 2000多万个微信号被封全面禁止"集赞" 微信雷霆行动这次玩真的

    微信雷霆行动自年初启动了打击网络黑色产业链以来,微信累计封停了2000万个招嫖账号,3万个假货公众账号,切实保护用户利益.你曾经中过招吗?Yes or No?说说你的看法吧. 同时,微信从9日起开始升 ...

  6. 淘宝(阿里百川)手机客户端开发日记第七篇 Service,Handler和Thread

    现在我们已经已经知道android有Service,Handler和Thread这些内容了,但是我想应该还有很多人对此并不是很清楚他们之间的区别! (1)Service 是运行在后端的程序,不与UI直 ...

  7. invert

    http://docs.ruby-lang.org/en/2.0.0/Hash.html invert → new_hash Returns a new hash created by using h ...

  8. mongo链接报错:couldn't connect to server 127.0.0.1:27017 (127.0.0.1)

    angela@angeladeMacBook-Air:/data/db$mongo MongoDB shell version: 2.6.1 connecting to: test 2014-06-0 ...

  9. haartraining生成.xml过程

    继续向大神学习http://www.cnblogs.com/tornadomeet/archive/2012/03/28/2420936.html

  10. django-cms 代码研究(一)djangocms是什么

    首先用djangocms生成了一个站点(具体参考这里:http://www.cnblogs.com/Tommy-Yu/p/3878488.html),其文件结构如下: 本来以为会很有逼格,结果一看傻眼 ...