mysql 清理

一、清理binlog

1、运行一段时间后,mysql数据库占用磁盘很大,仔细查看后发现是*.binlog文件占用很大,一个文件接近1G

2、操作

设置日志保留时长expire_logs_days自动删除

查看当前日志保存天数:
mysql> show variables like '%expire_logs_days%';
默认是0,也就是logs不过期.

如果数据库此时不便重启,可以设置全局的参数,使他临时生效:
mysql> set global expire_logs_days=7;
设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败

如果要永久生效,需要在my.cnf中设置
vi /etc/my.cnf
追加内容:
expire_logs_days = 7

也可以先手动删除BINLOG (purge binary logs)

删除指定的日志
mysql> PURGE {MASTER | BINARY} LOGS TO 'log_name'
例:删除binlog.1000
mysql> PURGE MASTER LOGS TO 'binlog.1000';

或删除指定日期之前的日志索引中的所有二进制日志。
mysql> PURGE {MASTER | BINARY} LOGS BEFORE 'date'
例:删除2021-06-22 12:00:00前的文件

mysql> PURGE MASTER LOGS BEFORE '2021-06-22 12:00:00';

例:删除3天前的日志
mysql> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

 

posted @ 2022-09-19 15:32  kuaqi  阅读(238)  评论(0编辑  收藏  举报