咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
MySQL 自动清理binlog日志的方法
这篇文章主要介绍了MySQL 自动清理binlog日志的方法,需要的朋友可以参考下
说明:
开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被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 statusG; #检查从服务器正在读取哪个日志,有多个从服务器,选择时间最早的一个做为目标日志。
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 #编辑配置
1 2 3 | expire_logs_days = 15 #自动删除15天前的日志。默认值为0?表示从不删除。 log-bin=mysql-bin #注释掉之后,会关闭binlog日志 binlog_format=mixed #注释掉之后,会关闭binlog日志 |
:wq! #保存退出