最近MySQL数据库主库出现过两次被binlog把磁盘空间耗尽,请教了一下我们的DBA。

设置一下expire_logs_days参数就可以自动把设定天数内的binlog自动删除。具体

命令如下:

mysql>PURGEMASTERLOGSTO'mysql-bin.000155';删除mysql-bin.000155以前所有binlog,这样删除可以保证*.index信息与binlog文件同步。
mysql>setglobalexpire_logs_days=10;把binlog的过期时间设置为10天;
mysql>flushlogs;刷一下log使上面的设置生效,否则不生效。

为保证在MYSQL重启后仍然有效,在my.cnf中也加入此参数设置

expire_logs_days=10


注:此参数在MySQL5.0以上的版本才支持。