MySQL binlog 日志处理

一、场景介绍

收到报警,磁盘空间使用率100%,紧急处理,binlog增长过快,过期时间为10天。

二、处理方案

1、物理删除

登上服务器:

#  df -Th 查看磁盘空间

#rm -rf mysql-bin.000004   (mysql-bin.000004 最早的几个binlog,我这测试环境没有从库,主从的还需确认从库是否全应用)

# vim mysql-bin.index (删除掉刚刚删掉的binlog,不然下次mysql 重启会起不来)

2、逻辑删除

> show binary logs;
> show variables like '%log%';
> set global expire_logs_days = 3; // 修改/etc/my.cnf 重启mysql

3.手动清除binlog文件
# /usr/local/mysql/bin/mysql -u root -p
> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY); //删除10天前的MySQL binlog日志
> show master logs;

>PURGE MASTER LOGS to 'mysql-bin.000004' ;// 删除mysql-bin.000004 之前的binlog

原文地址:https://www.cnblogs.com/Camiluo/p/11820013.html