前言
MySQL的binlog是以二进制形式打印的日志,没设置自动删除的话,时间长了就会占用大量存储空间。删除MySQL的binlog日志有两种方法:自动删除和手动删除。
自动删除
- 永久生效:修改MySQL配置文件my.cnf,配置binlog的过期时间,重启生效。
expire_logs_days=30
- 临时生效:即时生效,重启后失效。
-- 设置过期时间为30天 set global expire_logs_days=30;
手动删除
手动删除前需要先确认主从库当前在用的binlog文件。
- 主库:
show master status;
- 从库:
show slave status\G
假设当前在用的binlog文件为master-bin.000277
,现需要删除master-bin.000277
之前的所有binlog日志文件(不删master-bin.000277):
PURGE MASTER LOGS TO 'master-bin.000277';
其它
- 查看binlog文件:
show binary logs;