现象:
zabbix邮件报警,故障PROBLEM,服务 Free disk space isless than 20% on volume :xxx.xxx.xxx.xxx发生:/data故障!
分析过程及解决方案:一般出现这种问题都应该磁盘剩余空间太低,使用df –lh检查,发现磁盘空间已使用82%。再进一步经过du –sh对能够的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法以下:mysql
1) 设置日志保留时长expire_logs_days自动删除sql
查看当前日志保存天数:less
show variables like '%expire_logs_days%';spa
这个默认是0,也就是logs不过时,可经过设置全局的参数,使他临时生效:日志
set global expire_logs_days=7;索引
设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,因此需在my.cnf中设置it
expire_logs_days = 7class
2) 手动删除BINLOG (purge binary logs)date
用于删除列于在指定的日志或日期以前的日志索引中的全部二进制日志。这些日志也会从记录在日志索引文件二进制
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
例如:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00';
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);