对于比较繁忙的OLTP(在线事务处理)系统,由于每天生成日志量大,这些日志如果长时间不清除,将会对磁盘空间带来很大的浪费。因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容。下面跟大家分享几种删除MySQL binlog的方法。出自《深入浅出MySQL》第二版,如果你在虚拟机做实验导致binlog过大使得磁盘空间不多,下面的方法清理最合适不了过了

注意事项:

1.MySQL binlog日志是数据库灾难后恢复的关键,删除前一定要做好备份

2.如果做了MySQL主从,从服务器,会读取主服上的binlog,所以删除前要注意

3.个人建议,若真要删除binlog腾出硬盘空间,那先清理几个月前的binlog

方法一:

执行“RESET MASTER;”命令,该命令将删除所有BINLOG日志,新日志编号从“000001”开始。下例删除当前所有日志

mysql> system ls -ltr /data/mysql/
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.index
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.

查看结果:

mysql> reset master;
Query OK, rows affected (0.12 sec) mysql> system ls -ltr /data/mysql/
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw---- mysql mysql 12月 : mysql-bin.index
mysql>

第二种方法:
执行“PURGE MASTER LOGS TO 'mysql-bin.*******'”命令。该命令将删除“******”编号之前的所有日志。下例删除了“mysql-bin.000004”编号之前的所有日志:

mysql> system ls -ltr /data/mysql
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.index
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.

执行命令后的结果如下:

mysql> purge master logs to 'mysql-bin.000004';
Query OK, rows affected (0.08 sec) mysql> system ls -ltr /data/mysql
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.index

第三种方法以:

执行“PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh24:mi:ss'”  命令,该命令将删除日期为“hh24:mi:ss”之前产生的所有日志。下例中删除了日期在“2013-12-08 13:00:00”之前的所有日志:

mysql> system ls -ltr /data/mysql
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw----. mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.index
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.

执行命令后的结果:

mysql> purge master logs  before "2013-12-08 13:00:00";
Query OK, rows affected (0.09 sec) mysql> system ls -ltr /data/mysql
总用量
drwx------. mysql root 12月 : test
drwx------. mysql mysql 12月 : performance_schema
drwx------. mysql root 12月 : mysql
-rw-rw----. mysql mysql 12月 : ib_logfile1
-rw-rw---- mysql mysql 12月 : localhost.localdomain.pid
-rw-r-----. mysql root 12月 : localhost.localdomain.err
drwx------ mysql mysql 12月 : testdb
-rw-rw----. mysql mysql 12月 : ibdata1
-rw-rw----. mysql mysql 12月 : ib_logfile0
drwx------ mysql mysql 12月 : database
-rw-rw---- mysql mysql 12月 : mysql-bin.
-rw-rw----. mysql mysql 12月 : mysql-bin.index

嘻嘻,如果想了解更多删除MySQL binlog的方法以,可以去参考官网或者书籍《深入浅出MySQL》第二版

作者:陆炫志

出处:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111

您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。

删除MySQL binlog日志的方法的更多相关文章

  1. 删除mysql binlog日志

    查看:mysql> show binary logs; 删除 mysql-bin.000200 之前binlog日志:mysql> purge binary logs to 'mysql- ...

  2. 安全删除mysql binlog日志

    命令行下执行 show binary logs; purge binary logs to 'mysql-bin.000070';

  3. 【转载】mysql binlog日志自动清理及手动删除

    说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-b ...

  4. mysql binlog日志自动清理及手动删除

    说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-b ...

  5. 自动清理MySQL binlog日志

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

  6. Mysql Binlog日志详解

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  7. 删除MySQL二进制日志

    服务器上的120G SSD硬盘空间用了92%,检查后发现,原来是 MySQL的二进制日志没有及时清除,占用了大量的空间, 于是直接用命令:reset master 一把删干净了. 1 reset ma ...

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

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

  9. MySQL binlog日志操作详解

    MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. bi ...

随机推荐

  1. P4932 浏览器

    题目背景 __stdcall在用Edge玩slay的时候,鼠标会经常失灵,这让她十分痛苦,因此她决定也要让你们感受一下Edge制造的痛苦. 题目描述 __stdcall给了你n个点,第i个点有权值x[ ...

  2. 【刷题】LOJ 6008 「网络流 24 题」餐巾计划

    题目描述 一个餐厅在相继的 \(n\) 天里,每天需用的餐巾数不尽相同.假设第 \(i\) 天需要 \(r_i\) 块餐巾.餐厅可以购买新的餐巾,每块餐巾的费用为 \(P\) 分:或者把旧餐巾送到快洗 ...

  3. mysql 分组取每个组的前几名的问题

    select *from hotel_addition_orders awhere (select count(*) from hotel_addition_orders where hotel_or ...

  4. SpringBoot整合Mybatis之Annotation

    首先需要下载前面一篇文章的代码,在前一章代码上进行修改. SpringBoot整合Mybatis(注解方式) 复制前一个项目,修改配置文件,mybatis的相关配置为: mybatis: type-a ...

  5. Flink窗口介绍及应用

    Windows是Flink流计算的核心,本文将概括的介绍几种窗口的概念,重点只放在窗口的应用上. 本实验的数据采用自拟电影评分数据(userId, movieId, rating, timestamp ...

  6. django-simple-captcha 验证码插件

    官方文档:http://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation github:https://gi ...

  7. python oracle使用心得

    Oracel安装(windows 64位) 1. 首先确定版本. 2. 下载instantclient,下载地址:http://www.oracle.com/technetwork/database/ ...

  8. Hadoop生态圈-Flume的组件之sink处理器

    Hadoop生态圈-Flume的组件之sink处理器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.

  9. python BeautifulSoup

    之前解析LXML,用的是XPath,现在临时被抓取写爬虫,接人家的代码,看到用的是BeautifulSoup,稍微学了下,也挺好用的,简单记录下用法,有机会做下和Xpath的对比测试 初始化 from ...

  10. POJ-1459 Power Network(最大流)

    https://vjudge.net/problem/POJ-1459 题解转载自:優YoU http://user.qzone.qq.com/289065406/blog/1299339754 解题 ...