删除MySQL binlog日志的方法
对于比较繁忙的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日志的方法的更多相关文章
- 删除mysql binlog日志
查看:mysql> show binary logs; 删除 mysql-bin.000200 之前binlog日志:mysql> purge binary logs to 'mysql- ...
- 安全删除mysql binlog日志
命令行下执行 show binary logs; purge binary logs to 'mysql-bin.000070';
- 【转载】mysql binlog日志自动清理及手动删除
说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-b ...
- mysql binlog日志自动清理及手动删除
说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-b ...
- 自动清理MySQL binlog日志
开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被binlog日志占满,导致MySQL数据库出错. 使用下面方法可以安全清理b ...
- Mysql Binlog日志详解
一.Mysql Binlog格式介绍 Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...
- 删除MySQL二进制日志
服务器上的120G SSD硬盘空间用了92%,检查后发现,原来是 MySQL的二进制日志没有及时清除,占用了大量的空间, 于是直接用命令:reset master 一把删干净了. 1 reset ma ...
- 看数据库的文件大小 MySQL Binlog日志的生成和清理规则
小结: 1.避免并行大大事务对磁盘.内存的消耗: MySQL数据文件导致实例空间满的解决办法_空间/内存_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/kno ...
- MySQL binlog日志操作详解
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. bi ...
随机推荐
- SQL基本概念
目录 什么是SQL? DDL(Data Definition Language,数据定义语言) 创建数据库(CREATE) 创建表(CREATE) 删除表(DROP) 更新表(ALTER) DML(D ...
- button 和 submit 的区别
表单提交中button和submit的区别submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮, ...
- Jenkins之手动安装
Download and run Jenkins Download Jenkins. Open up a terminal in the download directory. Run java -j ...
- Voltage Keepsake CodeForces - 801C(思维)
题意: 有n台机器,第i台机器每个单位时间消耗ai的功率,初始有bi的功率储备,有一个充电器每个单位时间充p单位的功率 问经过多长时间才能有一个功率位0的机器,如果能够无限使用输出-1: 解析: 时间 ...
- php中的动态变量的一个应用
原文:https://www.cnblogs.com/JimmyBright/p/9869168.html 某些情况下,可以代替switch语句,大大简化代码,非常有意思哦 $list = [ [ ' ...
- CF1110C Meaningless Operations(构造题)
这可能是我打那么多次CF比赛时,做出来的最难的一道题了……而且这题也是个绝世好题…… 题目链接:CF原网 洛谷 题目大意:$q$ 组询问,每次给定 $a$ 询问 $\gcd(a\&b,a\o ...
- Sublime Text Ctags 安装、使用、快捷键
安装ctags应用程序. 1.到CTags的官方网站下载最新版本,将解压后的ctags.exe放到系统环境变量的搜索路径中.一般是C:\windows\system32. 如果你想放到其他文件夹中,记 ...
- python学习(28) 浅谈可变对象的单例模式设计
python开发,有时候需要设计单例模式保证操作的唯一性和安全性.理论上python语言底层实现和C/C++不同,python采取的是引用模式,当一个对象是可变对象,对其修改不会更改引用的指向,当一个 ...
- js完整教程一 : 基本概念和数组操作
文章提纲 JS相关常识 JS基本概念 实践 总结 JS相关常识 js是一种可以与HTML标记语言混合使用的脚本语言,其编写的程序可以直接在浏览器中解释执行. 一.组成 js是一种专门为网页交互设计的脚 ...
- MySQL事务及隔离级别详解
MySQL事务及隔离级别详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的基本架构 MySQL的基本架构可以分为三块,即连接池,核心功能层,存储引擎层. 1> ...