mysql中mysql-bin log文件清除方法

本文介绍在MySQL主从复制环境下,如何通过手动清除和设置expire_logs_days参数来管理binlog,避免磁盘空间被大量占用。包括具体操作命令、注意事项及日志自动删除配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql主从结构下默认会在主上产生大量如mysql-bin*的log日志文件,这会消耗大量的硬盘空间。本篇文章主要介绍在保持MySQL主从复制的功能情况下清除bin log文件的方法。

 

1. 手动清除bin log文件

 

1.1  删除一段时间前的log

mysql -u root -p

mysql> purge master logs before date_sub(current_date, interval 50 day); 

show master logs; # 查看删除状态

1.2  重置master,删除所有bin log文件

# mysql -u root -p

mysql> reset master;

备注

PURGE MASTER LOGS手动删除用法示例

# mysql -u root -p

> purge master logs to 'mysql-bin.010’; //清除mysql-bin.010日志

> purge master logs before '2017-08-28 13:00:00'; //清除2016-02-28 13:00:00前的日志

> purge master logs before date_sub(now(), interval 3 day); //清除3天前的bin日志

 

2. 设置日志expire_logs_days

设置日志expire_logs_days

修改MySQL配置文件,设置expire_logs_days,重启MySQL。

# vim /etc/my.cnf

expire_logs_days = x //日志自动删除的天数。一般讲x设置的短点,如10

直接在MySQL里设置expire_logs_days,无需重启MySQL(临时重启后回复)。

# mysql -u root -p

> show binary logs;

> show variables like '%log%';

> set global expire_logs_days = 10;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值