mysql binlog清理

1726阅读 0评论2011-01-26 ubuntuer
分类:Mysql/postgreSQL

  先看看mysql binlog到底占有了多少空间!!!
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 00:50 mysql-bin.000294
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 04:30 mysql-bin.000295
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 08:20 mysql-bin.000296
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 12:00 mysql-bin.000297
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 15:30 mysql-bin.000298
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 19:10 mysql-bin.000299
  -rw-rw---- 1 mysql users 1.1G 2011-01-20 22:50 mysql-bin.000300
  这么下去服务器肯定承受不了,那么如何删除一定时间之前的binlog呢...

  1.删除7天前的binlog
    mysql -uxx -pxx -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 7 DAY)'
    放在crontab里,每天跑一次就可以了
  2. 设置expire_logs_days
    在my.cnf的mysqld节点里设置
      expire_logs_days=7
    设置expire_logs_days需要注意没有产生flush的操作,不会触发expire-logs-days的行为。
  如果你的sql语句不是很多的话,可以尝试把max_binlog_size设置的稍小一点。

上一篇:MySQL的慢日志分析工具
下一篇:mysql的审计功能