mysql数据库binlog日志太大的清理方法
mysql的binlog太大太多占用大量磁盘的解决
mysql数据库binlog日志太大的清理方法
现象:zabbix邮件报警,故障PROBLEM,服务 Free disk space isless than 20% on volume :xxx.xxx.xxx.xxx发生:/data故障!
分析过程及解决方案:通常出现这种问题都应该磁盘剩余空间过低,使用df –lh检查,发现磁盘空间已使用82%。再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法如下:
1) 设置日志保留时长expire_logs_days自动删除
查看当前日志保存天数:
show variables like ‘%expire_logs_days%’;
这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:
set global expire_logs_days=7;
设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置
expire_logs_days = 7
2) 手动删除BINLOG (purge binary logs)
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
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);
———————
作者:slovyz
来源:CSDN
原文:https://blog.csdn.net/slovyz/article/details/50578339
版权声明:本文为博主原创文章,转载请附上博文链接!
——–
1.查看binlog日志
mysql> show binary logs; +------------------+------------+ | Log_name | File_size | +------------------+------------+ | mysql-bin.000061 | 50624 | | mysql-bin.000062 | 5159 | | mysql-bin.000063 | 126 | | mysql-bin.000064 | 3067 | | mysql-bin.000065 | 503 | | mysql-bin.000066 | 494 | | mysql-bin.000067 | 107 | | mysql-bin.000068 | 1433 | | mysql-bin.000069 | 7077 | | mysql-bin.000070 | 107 | | mysql-bin.000071 | 804 | | mysql-bin.000072 | 7642 | | mysql-bin.000073 | 2198 | | mysql-bin.000074 | 350139 | | mysql-bin.000075 | 126 | | mysql-bin.000076 | 51122 | | mysql-bin.000077 | 1074279197 | | mysql-bin.000078 | 1074435879 | | mysql-bin.000079 | 928917122 | +------------------+------------+
2.删除某个日志文件之前的所有日志文件
mysql> purge binary logs to 'mysql-bin.000079';
mysql> show binary logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000079 | 928917122 | +------------------+-----------+ mysql> reset master; #重置所有的日志
3.关闭mysql的binlog日志
#log-bin=mysql-bin 在my.cnf里面注释掉binlog日志 重启mysql service mysqld restart
转载请注明:SuperIT » mysql数据库binlog日志太大的清理方法