MySQL开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被binlog日志占满,导致MySQL数据库无法继续提供数据服务。
本文讲述如何安全清理binlog日志。
一、没有主从同步的情况下清理日志
mysql -uroot -pXXXXXX -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 7 DAY)';
#mysql 定时清理7天前的binlog
手动清理
mysql -u root -p #进入mysql 控制台
reset master; #重置binlog
二、MySQL主从同步下安全清理binlog日志
1、mysql -u root -p #进入从服务器mysql控制台
show slave status\G; #检查从服务器正在读取哪个日志,有多个从服务器,选择时间最早的一个做为目标日志。
2、进入主服务器mysql控制台
show master log; #获得主服务器上的一系列日志
PURGE MASTER LOGS TO 'binlog.000011258'; #删除binlog.000011258'之前的,不包括binlog.000058
PURGE MASTER LOGS BEFORE '2020-10-22 13:00:00'; #清除2016-06-22 13:00:00前binlog日志
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); #清除3天前binlog日志
三、设置自动清理MySQL binlog日志
vi /etc/my.cnf #编辑配置
expire_logs_days = 15 #自动删除15天前的日志。默认值为0,表示从不删除。
log-bin=mysql-bin #注释掉之后,会关闭binlog日志
binlog_format=mixed #注释掉之后,会关闭binlog日志
![798d269f561a780d9644928076b38931.png](https://i-blog.csdnimg.cn/blog_migrate/b45c0ba3e81b0993a6f71a44b2752815.jpeg)
近期热文 你可能也会对以下话题感兴趣。点击链接便可查看。
- 为什么不建议把数据库部署在docker容器内?
- Redis缓存雪崩、缓存击穿、缓存穿透 及 常见缓存模式
- 动图演示:如何彻底理解红黑树?
- 基于Kubernetes的云平台存储容器化实践
- 今天来聊一聊数据库事务的四种隔离性及Oracle和MySQL各自的默认隔离级别及原因分析
- MySQL8.0 为嘛弃用Query Cache?
- MySQL数据延迟跳动的问题分析
- MySQL 5.6和 5.7_同步账号修改密码方式:真的不一样
- MySQL8.0 为嘛弃用Query Cache?
- 你应该知道的分布式系统之奠基石CAP理论
- MySQL数据延迟跳动的问题分析
- 如何判断一个应用系统性能好不好?
- MySQL Document Store 混合使用关系型数据与非关系型数据
- 分布式一致性算法:Paxos算法学习
- MySQL 中你不得不知的重要知识点
- 神技_如何快捷下载Oracle补丁的方法?!
- 趋势篇:oracle 11g,12c,18c,19c之support lifetime
- Centos能不能替换RHEL?
- Centos能不能替换RHEL?
- 年末总结_聊一聊数据库行业的“继往开来”
- 【干货篇】在国内外数据库百家争鸣的时代,DBA们该何去何从?
- 实操:12C RAC环境下的ADG同步库搭建
- 浅谈MySQL三种锁:全局锁、表锁和行锁