MySQL数据的binlog处理方法

最近磁盘增长的非常快,发现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

相关推荐