The best life is use of willing attitude, a happy-go-lucky life.
— Mr.Wang
发布时间:2024-11-30 14:04:11
发布作者:admin
50
当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。
如:
mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.000004 mysql-bin.000005
1、 关闭mysql主从,关闭binlog
# vim /etc/my.cnf //注释掉log-bin,binlog_format # Replication Master Server (default) # binary logging is required for replication # log-bin=mysql-bin # binary logging format - mixed recommended # binlog_format=mixed操作完之后记得重启数据库
2、 开启mysql主从,设置expire_logs_days
# vim /etc/my.cnf // 修改expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10 expire_logs_days = x // 二进制日志自动删除的天数。默认值为0,表示“没有自动删除” 此方法需要重启mysql,附录有关于expire_logs_days的英文说明以上操作完之后记得重启数据库,当然也可以不重启mysql,开启mysql主从,直接在mysql里设置expire_logs_days
show binary logs; show variables like '%log%'; set global expire_logs_days = 10;3、 登陆mysql,执行以下SQL语句手动清除binlog文件
PURGE MASTER LOGS TO 'MySQL-bin.010'; // 清除MySQL-bin.010日志 PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00'; // 清除2008-06-22 13:00:00前binlog日志 PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); //清除3天前binlog日志BEFORE,变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。也可以重置master,删除所有binlog文件:reset master;