盘空间被binlog日志占满,导致MySQL数据库出错。
使用下面方法可以安全清理binlog日志
?
一、没有主从同步的情况下清理日志
mysql -uroot -p123456?-e ‘PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)‘;
#mysql 定时清理5天前的binlog
mysql -u root -p ?#进入mysql 控制台
reset master; ?#重置binlog
?
二、MySQL主从同步下安全清理binlog日志
1、mysql ?-u root -p ??#进入从服务器mysql控制台
show slave status\G; ??#检查从服务器正在读取哪个日志,有多个从服务器,选择时间最早的一个做为目标日志。
2、进入主服务器mysql控制台
show master log; ??#获得主服务器上的一系列日志
PURGE MASTER LOGS TO?‘binlog.000058‘; ??#删除binlog.000005之前的,不包括binlog.000058
PURGE MASTER LOGS BEFORE ‘2016-06-22 13:00:00‘; ?#清除2016-06-22 13:00:00前binlog日志
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);??#清除3天前binlog日志
?
三、设置自动清理MySQL binlog日志
vi ?/etc/my.cnf ?#编辑配置
expire_logs_days = 15 ?#自动删除15天前的日志。默认值为0,表示从不删除。
log-bin=mysql-bin ??#注释掉之后,会关闭binlog日志
binlog_format=mixed ??#注释掉之后,会关闭binlog日志
:wq! ?#保存退出