MySQL 开启主从备份或者双主备份后,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。
可以通过以下方法,来解决这个问题。
1、进入从数据库,执行以下语句,查看主从复制状态,观察正在使用的日志文件
show slave status
说明当前正在使用 000037 日志文件做主从备份。
2、在主数据库上,删除不在用的日志文件
有以下几种方式
1)按日期删除 N 天前
–删除7天前日志
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY);
2)按指定日期删除
PURGE MASTER LOGS BEFORE '2020-12-22 13:00:00'; //清除2020-12-22 13:00:00前binlog日志
3)按指定文件删除
PURGE MASTER LOGS TO 'MySQL-bin.000035'; //清除MySQL-bin.000035日志
3、设置数据库日志过期时间,设置后,系统会自动删除
1)设置日志过期时间
set global expire_logs_days = 7
2)查看日志过期时间
show variables like 'expire_logs_days';
4、设置启动配置 my.ini 日志过期时间
** 注: 必须设置,否则重启码mysql后,语句设置的日志过期时间会重置**
在log-bin 之后配置 日志过期时间
expire_logs_days = 7