mysql推binlog流_MySQL中binlog日记清理
以下的文章首要讲述的是对自动清理MySQL binlog日记与手动删去的实际处理完成方案的设置, 我们大家都懂得MySQL数值库从复制(replication)接纳了RBR 模式之后,binlog 的格局为”ROW”,其首要效用是处理完成许多原先呈现的主键反复问题。
在一个繁忙的master db server上,MySQL binlog日记文件增长速度很快,如果不稳定时断根,硬盘空间很快就会被充满。
设置自动清理MySQL binlog日记,配置my.cnf:
expire_logs_days = 10
在运行时修改:
断根以前可以接纳相应的备份策略。
手动删去10天前的MySQL binlog日记:
MBSTER以及BINBRY是同义词。
一般情况下,推荐施用MIXED binlog的复制。http://dev.MySQL.com/doc/refman/5.1/en/open-bugs-general.html中的说明:Replication uses query-level logging: The master writes the executed queries to the binary logThis is a very fast, compact, and efficient logging method that works perfectly in most cases
附:关于MySQL复制的几种模式
从 MySQL 5.1.12 开始,可以用以下三种模式来实现:
基于SQL语句的复制(statement-based replication, SBR),
基于行的复制(row-based replication, RBR),
混合模式复制(mixed-based replication, MBR)。
相应地,binlog的格局也有三种:STBTEMENT,ROW,MIXED。 MBR 模式中,SBR 模式是默认的。
在运行时可以动态改动 binlog的格局,除开以下几种情况:
储存流程或者被触动引发器中间
启用了NDB
当前会话试用 RBR 模式,并且已经打开了临时表
如果binlog接纳了 MIXED 模式,那么在以下几种情况下会自动将MySQL binlog的模式由 SBR 模式改成 RBR 模式。
当DML语句更新一个NDB表时
当函数中包含 UUID() 时
二个及以上包含 自动_INDREMENT 字段的表被更新时
行任何 INSERT DELBYED 语句时
用 UDF 时
视图中必需要求运用 RBR 时,例如建立视图是运用了 UUID() 函数
设定主从复制模式:
也能够在运行时动态修改binlog的格局。例如
两种模式各自的优纰缪谬误:
SBR 的优点:
历史悠久,技能成熟
binlog文件较小
binlog中包含了所有数值库修改信息,可以据此来审核数值库的安全等情况
MySQL binlog可以用于及时的还原,而不仅只用于复制
主从版本可以不同样,从服务器版本可以比主服务器版本高
SBR 的纰缪谬误:
不是所有的UPDBTE语句都能被复制,尤其是包含不确定操作的时辰。
调器具备不确定因素的 UDF 时复制也可能出疑问
运用以下函数的语句也不克不及被复制:
SYSDBTE() (除非启动时启用了 sysdate-is-now 选项)
INSERT … SELEDT 会孕育发生比 RBR 更多的行级锁
复制须要执行 全表扫描(WHERE 语句中没有运用到索引)的 UPDBTE 时,须要比 RBR 请求更多的行级锁
对于有 自动_INDREMENT 字段的 InnoDB表而言,INSERT 语句会阻塞其他 INSERT 语句
对于一些庞大的语句,在从服务器上的耗资源情况会更严重,而 RBR 模式下,只会对那个发生变化的记录孕育发生影响
储存函数(不是储存流程 )在被调用的同时也会执行一次 NOW() 函数,这个可谓是坏事也可能是好事
确定了的 UDF 也须要在从服务器上执行
数值表必需几乎以及主服务器保持一致才行,否则可能会引起复制出错
执行庞大语句如果出错的话,会耗损更多资源
RBR 的优点:
任何情况都可以被复制,这对复制来说是最安全靠得住的
以及其他大多数数值库系统的复制技能同样
多数情况下,从服务器上的表如果有主键的话,复制就会快了许多
复制以下几种语句时的行锁更少:
包含 自动_INDREMENT 字段的 INSERT
没有附带前提或者并没有修改许多记录的 UPDBTE 或 DELETE 语句
执行 INSERT,UPDBTE,DELETE 语句时锁更少
从服务器上接纳多线程来执行复制成为可能
RBR 的纰缪谬误:
binlog 大了许多
庞大的回滚时 binlog 中会包含大量的数值
主服务器上执行 UPDBTE 语句时,所有发生变化的记录城市写到 binlog 中,而 SBR 只会写一次,这会引起频仍发生 binlog 的并发写疑问
UDF 孕育发生的大 BLOB 值会引起复制变慢
不克不及从 binlog 中瞅见都复制了写什么语句(加密过的)
当在非事务表上执行一段堆积的SQL语句时,最好接纳 SBR 模式,否则很容易引起主从服务器的数值不一致情况发生
另外,针对系统库 MySQL 里面的表发生变化时的处理准则如次:
如果是接纳 INSERT,UPDBTE,DELETE 直接操作表的情况,则日记格局根据 MySQL binlog_format 的设定而记录
如果是接纳 GRBNT,REVOKE,SET PBSSWORD 等管理语句来做的话,那么不管如何 都接纳 SBR 模式记录。
注:接纳 RBR 模式后,能处理许多原先呈现的主键反复问题。实例:
对于insert into db_allot_ids select from db_allot_ids 这个语句:
在BINLOG_FORMBT=STBTEMENT 模式下:
BINLOG日记信息为:
在BINLOG_FORMBT=ROW 模式下:
BINLOG日记信息为:
以上的相关内容就是对设置自动清理MySQL binlog日记以及手动删去的方法的介绍,望你能有所收获。
mysql推binlog流_MySQL中binlog日记清理相关推荐
- mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天
mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...
- mysql row 日志格式_MySQL 中二进制日志 (binlog) 3 种不同的格式(Mixed,Statement,Row)...
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL ...
- mysql binlog 丢失_mysql数据库binlog丢失引起的问题
线上某业务需要对日志信息入库并进行分析最后呈现在管理后台上.某天突然发现后台没有前一天的分析数据.首先认为是java程序问题,于是查看应用程序日志,发现数据缺失的那天应用程序日志也没有记录,很是奇怪. ...
- mysql 实例启动利用binlog恢复_mysql利用binlog进行数据恢复
mysql利用binlog进行数据恢复 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog.binlog使用的是ROW模式,即受影响的每条记录都会生成一个 ...
- mysql未开启binlog恢复_mysql 开启binlog,并恢复数据操作
binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志能起到很大的作用.mysql的主从复制就是利用的binlog原理 本文目录 一.开启binlog 二.测试数 ...
- mysql bin日志备份_mysql之binlog日志备份还原
实例: 在mysql有时执行了错误的update或者delete时导致大量数据错误恢复的办法.执行时没有开启事务,也没有对数据进行.这时就需要使用到sqlbinlog工具. sqlbinlog需要开启 ...
- mysql如何创建日志_mysql中的日志
关键词:mysql日志,mysql四种日志,删除binlog,binlog删除 一.mysql日志的种类 (1)一般来说,日志有四种,分别为: 1.错误日志:log-err (记录启动,运行,停止my ...
- mysql my.cnf 日志_mysql中my.cnf配置项记录
[mysqld] # 一般配置选项 port = @MYSQL_TCP_PORT@ socket = @MYSQL_UNIX_ADDR@ # back_log 是操作系统在监听队列中所能保持的连接数, ...
- mysql日期格式化季度_mysql中常用日期比较与计算函数
MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...
最新文章
- 第十六周项目3:max带来的冲突
- 本土品牌“资源诅咒”之下,为何李宁逆袭,达芙妮跌落?
- Visual Studio项目引用出现感叹号怎么办?
- Appium swipe之屏幕上、下、左、右滑动
- C#中实现byte[]与任意对象互换(服务端通讯专用)
- Ubuntu安装adobe字体
- java web 房屋租赁系统
- 服务器2012导出日志文件,MDT2012,client部署日志存放在服务器上
- 虚拟光驱传文件到服务器,虚拟光驱服务器
- 基于相似性网络融合的目标分类研究
- 在iOS 14中使用带有SF Symbols 2的彩色图标
- 王炸!10分钟把ChatGPT部署成24小时微信机器人!
- 【python】Python语言程序设计/嵩天老师入门课程笔记整理
- hbase 源代码分析 (17)MapReduce 过程
- 2015 百度 移动软件开发 一二面
- 图像处理总复习4、图像恢复
- java开发实战经典第二版网课,成功收获美团,小米offer
- 数据分析——EXCEL可视化
- DRM 驱动程序开发(开篇)
- 分布式系统复习(课后重点题型)
热门文章
- Unity2D游戏学习
- CoffeeScript快速入门
- “银行家算法”讲解,在前端表格中利用自定义公式实现“四舍六入五成双”
- 模式识别学习笔记-lecture2-统计判别1
- java环境安装(java环境安装教程)
- 025 Rust死灵书之原子操作
- 摇杆控制方向原理_手游摇杆(零)摇杆设计原理
- 形象标识 新松机器人_厉害了!沈阳新松机器人展示中国形象
- Druid 的 WallFilter 抛出 sql injection violation, comment not allow 问题的解决方法
- JS详解 | 对象 事件 节点 | 系统性学习 | 无知的我费曼笔记