MySQL在线删除多余的binlog文件
如果你的MySQL搭建了主从同步 , 或者数据库开启了log-bin日志(MySQL默认开启) , 那么随着时间的推移 , 你的数据库data 目录下会产生大量的日志文件
ll /opt/mysql/data/
-rw-rw----. 1 mysql mysql 63278 9月 11 02:03 mysql-bin.000001
-rw-rw----. 1 mysql mysql 10966 9月 11 02:03 mysql-bin.000002
-rw-rw----. 1 mysql mysql 133 9月 11 02:04 mysql-bin.000003
-rw-rw----. 1 mysql mysql 133 9月 12 02:00 mysql-bin.000004
-rw-rw----. 1 mysql mysql 271 9月 12 18:25 mysql-bin.000005
-rw-rw----. 1 mysql mysql 133 9月 12 18:55 mysql-bin.000006
-rw-rw----. 1 mysql mysql 133 9月 12 19:48 mysql-bin.000007
-rw-rw----. 1 mysql mysql 133 9月 12 21:21 mysql-bin.000008
-rw-rw----. 1 mysql mysql 321 9月 18 17:30 mysql-bin.000009
生产环境中这些文件都会很大,默认每个1G左右大小,长期不处理会占满硬盘空间
下面来介绍几种解决方法:
1、如果你的数据库没有搭建主从同步这样的服务 , binlog日志也不用的情况下 , 你可以将/etc/my.cnf文件下面行删除或注释掉
log-bin=mysql-bin
如果你需要这样的文件 , 那么建议你在主配置文件 /etc/my.cnf 中添加如下行 , 来限制 binlog日志文件存在时间 , 过期自动删除
expire_logs_days = 7 #只保留7天的日志文件
2、如果你服务器上面的binlog日志已经影响到了磁盘空间,那么你可以使用下面命令清除
mysql> reset master; #清空所有binlog文件
3、如果你的服务器 , mysql做了主从同步 , 那么上面的命令就不适合你了 , 因为binlog文件不能全部删除 , 否则会导致数据不同步
mysql> show slave status\G; #在slave上查看从库读binlog读到了哪里
Master_Log_File: mysql-bin.000009 # 我们可以看到是mysql-bin.000009
mysql> purge master logs to 'mysql-bin.000009'; #在master中执行这条指令 , 将mysql-bin.000009前的binlog都删掉
mysql> purge master logs before '2014-11-18 00:00:00'; #将此日期前的binlog都删掉
参考链接:http://www.linuxidc.com/Linux/2016-03/129647.htm
MySQL在线删除多余的binlog文件的更多相关文章
- linux更新系统之后,删除多余的开机启动项
实验环境是centos7,采用uefi的引导方式,启动管理软件是grub2 1. 进入 /boot 目录,应该可以发现许多文件的文件名是以 vmlinuz 开头,后面跟着版本信息,这些就是内核.我们要 ...
- mysql5.5 物理删除binlog文件导致的故障
故障现象: 中午12点多,一套主从集群的主库因为没有配置大页内存,发布时导致OOM,MYSQL实例重启了,然后MHA发生了切换.切换过程正常.切换后需要把原master配置成新master的slave ...
- mysql中删除binlog的方法?mysql中如何删除binlog?
需求描述: 在mysql中如何删除binlog,因为随着数据库的运行,mysql中产生的binlog会越来越大,有可能把磁盘撑爆了,所以记录下删除 binlog的方法. 操作过程: 1.通过系统参数控 ...
- Powershell按文件最后修改时间删除多余文件
Powershell按文件最后修改时间删除多余文件 1. 删除目录内多余文件,目录文件个数大于$count后,按最后修改时间倒序排列,删除最旧的文件. Sort-Object -Property La ...
- 删除多余的自编译的内核、mysql连接不了的问题
1.删除多余的自编译的内核 每次Debian发布内核更新,总是有某些内核选项跟自己的硬件不配套,要自己编译内核.编译多了,多余的内核就占用了多余的硬盘空间.我就试过因为/boot分区满了,而导致编译内 ...
- 查看MySQL日志数据binlog文件
binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 ...
- Linux 上通过binlog文件 恢复mysql 数据库详细步骤
一.binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlb ...
- Mysql设置主库binlog文件自动清理
mysql主库中设置了打开binlog模式后,会在datadir目录下生成大量的日志文件,mysql默认是不会自动清理的,我们来设置下mysql自动清理binlog文件 一.打开mysql [root ...
- [转载] mysql5.6 删除之前的ibdata1文件后再重新生成,遇到[Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.问题
[转载] mysql5.6 删除之前的ibdata1文件后再重新生成,遇到[Warning] Info table is not ready to be used. Table 'mysql.slav ...
随机推荐
- 让我们了解 Ceph 分布式存储
前言 最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,Glu ...
- 类的 __call__ 和__repr__ 方法
__call__: 让类实例可以被调用: __str__ , __repr__ : 两个都能是类实例名能被打印,区别在于repr可在交互是直接打印类名不用加print
- Nginx 部署、反向代理配置、负载均衡
Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...
- 【Java并发核心七】计划任务ScheduleExecutorService
Java中定时任务Timer工具类提供了计划任务的实现,但是Timer工具类是以队列的方式来管理线程的,并不是以线程池的方式,这样在高并发的情况下,运行效率会有点低. ScheduleExecutor ...
- 自己总结的C#编码规范--前言&目录
最近在为公司编写c#编码规范,以前对这方面研究不多,只是觉得代码能够出自己的意思就可以了. 我参考了以下资料 C# Coding Conventions NET设计规范约定惯用法与模式(第2版) 编写 ...
- VB.Net中确认退出对话框的实现
实现方法分为两大类:窗体事件和控件事件,下面就一一展示: 一.FormClosing事件(又分以下几种方法) a. Private Sub frmPractise_FormClosing(ByVal ...
- 多线程IO通过并发IO来优化性能
1.通过多线程IO,并发的IO形式来减少顺序IO达到提升性能的目的. 2.具体线程使用方式可以参见 http://www.cnblogs.com/freedommovie/p/7155260.htm ...
- Linux配置Redis外网访问
下载:redis-3.2.5.tar.gz 拷贝到指定目录解压:tar -xzvf redis-3.2.5.tar.gz 进入到解压目录redis-3.2.5下安装: makemake install ...
- 洛谷.3065.第一!First!(Trie 拓扑)
题目链接 \(Description\) 给出n个字符串,问重定义英文字符的顺序(即字典序),有哪些单词可能排在第一 \(Solution\) 一个单词想要排在第一,首先是没有其它字符串是它的前缀.那 ...
- Prism中命令可用性无法自动刷新
http://stackoverflow.com/questions/2444927/wpf-prism-canexecute-method-not-being-called It is most l ...