先看看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设置的稍小一点。
阅读(1656) | 评论(0) | 转发(0) |