最近磁盘增长的非常快,发现binlog日志占用很大的磁盘资源。我们采用手动清理,后面设置一下自动清理。
查看指定删除日志
MySQL >show binary logs; 查看多少binlog日志,占用多少空间。
mysql> PURGE MASTER LOGS TO 'mysql-bin.002467'; 删除mysql-bin.002467以前所有binlog,这样删除可以保证*.index信息与binlog文件同步。
手动清理
mysql>PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 5 DAY); 手动删除5天前的binlog日志
自动设置清理
mysql> set global expire_logs_days = 5; 把binlog的过期时间设置为5天;
mysql> flush logs; 刷一下log使上面的设置生效,否则不生效。
为保证在MYSQL重启后仍然有效,在my.cnf中也加入此参数设置
expire_logs_days = 5