一、场景介绍
收到报警,磁盘空间使用率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