MySQL设置binlog日志的有效期自动回收

设置日志保留天数,到期后自动删除

查看当前日志保存天数:

show variables like '%expire_logs_days%';

默认是0,即永不过期。 

通过设置全局参数修改:

set global expire_logs_days=30;

设置为保存30天

或者修改 my.cnf 或 my.ini 中的

expire_logs_days = 30

若没有则添加上

重启后生效!

时间: 2024-08-03 09:21:24

MySQL设置binlog日志的有效期自动回收的相关文章

MySQL的binlog日志

binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版).二进制有两个最重要的使用场景: 其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致

mysql的binlog日志删除与限制大小

现象:网站访问越来越慢,最后无法访问了,经过检查发现磁盘满了.仔细查询下来确认是由于mysql的binlog太多太大占用了空间. 分析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘.内存和进程使用的情况,通过top.df –h和free –m来检查,发现磁盘空间满了.再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大.清理binlog的方法如下: 1) 设置日志保留时长expire_logs_days自动删除 查看当前日志保存天数:  代码如下 复

mysql利用binlog日志恢复数据库的例子

binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以"事件"的形式保存,它描述数据更改.当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回(前提是已经配置好了binlog),接下来我们来配置 一.开启mysql-binlog日志 在mysql配置文件my.cnf加上如下配置  代码如下 复制代码 [mysqld] log-bin=mysql-bin 重启mysql  代码如下 复制代码   service mysqld restart 二

mysql中bin-log日志操作命令

查看日志是否开启 1).可以通过Mysql配置文件my.cnf来确认(Mysql默认开启二进制日志记录): # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin 刷新日志 flush logs; 查看当前日志位置 show master status; 查看当前所有日志 show master logs; 清空所有的bin-log日志 reset m

pdo,mysql 中binlog日志记录的一个 bug

最近发现数据库同步总是出问题,最诡异的时,主从数据库写入的数据不一样,我勒个去.程浩同学看了半天终于找到原因,原来是PDO的一个大坑,加上binlog的一个大坑. 首先声明,这篇文章有很强的攻击性,如果你利用这里面写的东西攻击,所造成的一切后果,自负!        起因:       2010/12/15 我的领导,突然要求我们开始折腾一下机器.主要的目的是,没做备份的,做一下备份,单个的数据库做主从,线上的机器要做一个能快速恢复的热备份.经过检查发现机器若干台需要整理,于是开始一一处理,其他

安全删除mysql的binlog日志文件

1. 删除某个时间点以前的binlog  代码如下 复制代码 PURGE MASTER LOGS BEFORE '2013-06-22 22:46:26′; 2. 删除某文件以前的binlog  代码如下 复制代码 PURGE MASTER LOGS TO 'mysql-bin.010′;

MySQL 自动清理binlog日志的方法_Mysql

说明: 开启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

mysql中设置二进制日志binlog简单操作

mysql使用binlog的好处就是很灵活的进行数据恢复 binlog设定不对会使磁盘用满报错,出现这种情况首先将数据库里的binlog清理 根据binlog名进行之前的删除 PURGE {MASTER | BINARY} LOGS TO 'log_name'; 例:删除mysql-bin.000123之前的binlog PURGE MASTER LOGS TO 'mysql-bin.000123'; 根据binlog保留的时间进行删除 PURGE {MASTER | BINARY} LOGS

设置自动清理binlog日志和手动删除的方法

MySQL主从复制(replication)采用 RBR 模式后,binlog的格式为"ROW",能解决很多原先出现的主键重复问题.在一个繁忙的master db server上,binlog日志文件增长速度很快,如果不定时清除,硬盘空间很快就会被充满. 设置自动清理mysql binlog日志: 配置my.cnf:expire_logs_days = 10   在运行时修改: Java代码   show binary logs;   show variables like '%log