mysql bin的过期时间_Mysql设置binlog过期时间并自动删除
问题:
Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间。
解决方案:
出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作。
1、查看binlog过期时间
mysql> show variables like ‘expire_logs_days‘; 或者
mysql> select @@global.expire_logs_days;
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 0 |
+------------------+-------+
1 row in set (0.00 sec)
expire_logs_days=0:表示所有binlog日志永久都不会失效,不会自动删除;
目前需求,只想保留七天日志,其余日志打包、压缩后备份至其他地方:
修改方式:
永久生效(重启后即生效):
修改配置文件my.ini(window系统环境下,若为Linux环境,则修改my.cnf文件)文件:
在[mysqld]标签内增加如下内容
expire_logs_days=7
max_binlog_size=500M
设置之后不会立即清除,触发条件是:
binlog大小超过max_binlog_size
手动执行flush logs
重新启动时(MySQL将会new一个新文件用于记录binlog)
为了使之生效,需要执行flush logs。
mysql> flush logs;
Query OK, 0 rows affected, 64 warnings (0.16 sec
如果binlog非常多,不要轻易设置该参数,有可能导致io争用,这时候可以使用purge命令予以清除:
将bin.000055之前的binlog清掉:
mysql>purge binary logs to ‘bin.000055‘;
将指定时间之前的binlog清掉:
mysql>purge binary logs before ‘2019-09-13 23:59:59‘;
注意,不要轻易手动去删除binlog,会导致binlog.index和真实存在的binlog不匹配,而导致expire_logs_day失效
二、调整binlog日志模式
## 查看binlog日志模式
mysql> show variables like "%binlog_format%";
方法一:在线修改立即生效
mysql> set global binlog_format=‘MIXED‘;
Query OK, 0 rows affected (0.00 sec)
方法二:在配置文件中参数如下:
[mysqld]
log-bin=/var/lib/mysql/mysql-bin
#binlog_format="ROW"
binlog_format="MIXED" #开启MIXED模式
#binlog_format="STATEMENT"
修改后重启mysql服务。
原文:https://www.cnblogs.com/jimoliunian/p/13896409.html
mysql bin的过期时间_Mysql设置binlog过期时间并自动删除相关推荐
- mysql配置日志老化配置_mysql配置-日志大小限制和自动删除
线上的项目磁盘消耗问题, 发现和MySQL日志有关系. 需要处理的问题 如何限制大小 不让日志无限膨胀? 配置日志不留? 删除的方式和直接删除会对服务有什么影响? 解决方式 限制大小, 保留最近一段时 ...
- mysql8 设置binlog过期时间
mysql8 设置binlog过期时间 mysql8中 使用binlog_expire_logs_seconds 设置日志过期时间,废弃参数:expire_logs_days mysql> sh ...
- Mysql设置binlog过期时间并自动删除
问题: Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间.解决方案: 出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作.1.查看binl ...
- mysql 8 expire_logs_days 废弃 启用binlog_expire_logs_seconds设置binlog自动清除日志时间 阿里云RDS暂时不支持
查看binlog日志相关配置信息 -- 查看binlog日志 show binary logs; -- mysql系统配置中查找 时效 相关配置 show variables like '%expi ...
- mysql bin值总是变化_MySQL|update字段为相同的值是否会记录binlog
一 前言 前几天一个开发同事咨询我,update 更新字段为相同的值是否会记录binlog,我回复说不会. 其实 严格的说这个答案是不准确的,说要区分场景.是否记录 update 语句到binlog依 ...
- mysql查binlog删除时间_mysql的binlog日志删除查询
最近发现mysql的binlog日志一直在被删除中...导致从机出错后没法排查问题. 查阅资料后,发现配置文件的expire_logs_days的参数是保存binlog日志的时间参数.mysql> ...
- mysql通过日志恢复数据_mysql通过binlog日志来恢复数据
简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...
- mysql 3种报错_MySQL读取Binlog日志常见的3种错误-阿里云开发者社区
MySQL读取Binlog日志常见的3种错误 mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4' 当我们在my. ...
- java设置过期时间_java设置session过期时间的实现方法
本文实例讲述了java设置session过期时间的实现方法,分享给大家供大家参考.具体实现方法如下: 1.Timeout in the deployment descriptor (web.xml) ...
最新文章
- Vue的表单组件之单选按钮
- MySQL高级最左前缀法则
- MyBatis 插件原理与自定义插件-应用场景分析
- python装饰器详细剖析
- swiper踩过的哪些坑
- 文本分类--普通分类
- virtualbox手动挂载共享文件夹
- django之get filter
- Python学习【第2篇】:基本数据类型(详解)
- 初识Quartz之CronTrigger
- docker---docker save
- age estimation阅读整理(一)
- SQL SERVER数据库备份与复制(4):让SQL SERVER自动备份方法一
- 电话呼叫转移的设置方法大全
- 创建一键部署的前后端(SpringBoot+Vue+nginx)项目镜像
- Wireshark 4.0.0RC1 版本前瞻
- ARP表是在交换机上还是在路由器上?
- shell脚本进入某个目录返回当前目录写法
- 制作一个简单HTML游戏网页(HTML+CSS)米哈游 1页 带轮播图
- 开启6轴机器人正逆解算法之旅
热门文章
- 短 URL 服务,怎么设计与实现?
- Spring Cloud Gateway 入门
- 不敢相信,相同 SQL 下 Mybatis 查询结果和数据库竟然不一样!
- 2020 最新 JVM 生态报告
- 配置访问oracle_SpringBoot中application.properties的常用配置
- ionic4中的手势事件
- log_sum_exp
- Visual Studio 调试(Dubug)模式下的“未定义标识符”
- 三元组损失 Triplet Loss及其梯度
- 使用PyTorch从零开始实现YOLO-V3目标检测算法 (一)