删除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 ...
随机推荐
- spring not_support 该方法被事务方法调用时 不会加入spring事务 只是执行jdbc普通的事务
- Swap HDU - 2819 (有关矩阵的二分匹配)
题意见大佬:https://www.cnblogs.com/gj-Acit/archive/2013/08/17/3265502.html 题目大意很明确,交换图的某些行或者是某些列(可以都换),使得 ...
- c#将文件复制到某个文件夹内winform文件复制
try { //系统盘 string nl = Environment.NewLine; string query = "%SystemRoot%"; string str = E ...
- 【题解】 P1879 玉米田Corn Fields (动态规划,状态压缩)
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...
- WCF trace、log
1. 打开wcf配置: 2. enable trace , log 可以改变log路径: 3. 用 SvcTraceViewer.exe (直接在c盘下搜索) 查看 4. 如果想自定义trac ...
- CRM 常用SQL 脚本
1. 查询角色.用户 SELECT DISTINCT DomainName, u.FullName , u.FirstName, u.InternalEM ...
- vue-devtools/安装vue-devtools
一.在github上下载压缩包,github下载地址:https://github.com/vuejs/vue-devtools 二.解压到本地的某盘 三.用你的npm中进入该文件夹下 在npm中执行 ...
- eos 源码net_plugin分析
1 net_plugin_impl::connect(connection_ptr c) 函数用于解析地址,内部异步回调async_resolve async_resolve 传递了lambda表达式 ...
- 一个简单的Kubernetes应用部署示例
说明 我们通过一个示例来演示一下kubernetes部署应用的基本配置. 这个示例相对比较简单,就是一个tomcat应用加上一个mysql数据库 在tomcat里运行一个简单的webappp,这个ap ...
- 20181108 Apache Commons Lang
工具类 org.apache.commons.lang3 AnnotationUtils ArchUtils ArrayUtils BooleanUtils CharSetUtils CharUtil ...