2018年04月6日网站服务器迁移完成……

mysql binlog日志删除

mysql 苏 demo 1474℃ 0评论
随着mysql的运行,其binlog日志会越来越多,占用的磁盘会越来越大。
我们需要定期清理这些过期的binlog日志。
处理方法主要有两种:
1、自动删除
2、手动删除
 
 
1、自动删除
需要更改其配置文件my.cnf,添加参数expire_logs_days = 10,单位是天。
2、手工删除
当然我们可以手动删除binlog日志文件,但是这样并不会更新
mysql-bin.index
我们可以利用mysqlbinlog删除工具purge来删除并更新。
查看帮助:
mysql>help purge;
Name: ‘PURGE BINARY LOGS’ Description: Syntax: 
PURGE { BINARY | MASTER } LOGS { TO ‘log_name’ | BEFORE datetime_expr }
Examples: PURGE BINARY LOGS TO ‘mysql-bin.010’; 
PURGE BINARY LOGS BEFORE ‘2008-04-02 22:46:26’;
 
mysql>purge binary logs before ‘***’;
 
这样我们就可以删除一些特定的binlog日志。
   PS:这么说有点空泛,来点实际的吧。
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设置的稍小一点。
打赏

转载请注明:苏demo的别样人生 » mysql binlog日志删除

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情