mysql innodb redolog_Mysql的binlog 和InnoDB的redo-log

mysql日志系统之redo log和bin log

format,png

12018.12.02 01:35:06字数 997阅读 3,248

首先,我们先来看看一次查询/更新语句流程图

format,png

mysql查询/更新流程图.png

本文会将重点放在执行器存储引擎之间的交互。

mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘io成本,同时提高操作速度。

mysql通过WAL(write-ahead logging)技术保证事务

在同一个事务中,每当数据库进行修改数据操作时,将修改结果更新到内存后,会在redo log添加一行记录记录“需要在哪个数据页上做什么修改”,并将该记录状态置为prepare,等到commit提交事务后,会将此次事务中在redo log添加的记录的状态都置为commit状态,之后将修改落盘时,会将redo log中状态为commit的记录的修改都写入磁盘。过程如下图

format,png

更新流程.png

redo log记录方式

redolog的大小是固定的,在mysql中可以通过修改配置参数innodb_log_files_in_group和innodb_log_file_size配置日志文件数量和每个日志文件大小,redolog采用循环写的方式记录,当写到结尾时,会回到开头循环写日志。如下图

format,png

redolog记录方式.png

write pos表示日志当前记录的位置,当ib_logfile_4写满后,会从ib_logfile_1从头开始记录;check point表示将日志记录的修改写进磁盘,完成数据落盘,数据落盘后checkpoint会将日志上的相关记录擦除掉,即write pos->checkpoint之间的部分是redo log空着的部分,用于记录新的记录,checkpoint->write pos之间是redo log待落盘的数据修改记录。当writepos追上checkpoint时,得先停下记录,先推动checkpoint向前移动,空出位置记录新的日志。

有了redo log,当数据库发生宕机重启后,可通过redo log将未落盘的数据恢复,即保证已经提交的事务记录不会丢失。

有了redo log,为啥还需要binlog呢?

1、redo log的大小是固定的,日志上的记录修改落盘后,日志会被覆盖掉,无法用于数据回滚/数据恢复等操作。

2、redo log是innodb引擎层实现的,并不是所有引擎都有。

基于以上,binlog必不可少

1、binlog是server层实现的,意味着所有引擎都可以使用binlog日志

2、binlog通过追加的方式写入的,可通过配置参数max_binlog_size设置每个binlog文件的大小,当文件大小大于给定值后,日志会发生滚动,之后的日志记录到新的文件上。

3、binlog有两种记录模式,statement格式的话是记sql语句, row格式会记录行的内容,记两条,更新前和更新后都有。

binlog和redo log必须保持一致,不允许出现binlog有记录但redolog没有的情况,反之亦然。之前说过在一个事务中,redolog有prepare和commit两种状态,所以,在redolog状态为prepare时记录binlog可保证两日志的记录一致,下图列出各种情况来说明。

format,png

4.png

现在我们再来看看整个完整的流程图

format,png

更新流程.png

相关参数设置建议:

1、innodb_flush_log_at_trx_commit:设置为1,表示每次事务的redolog都直接持久化到磁盘(注意是这里指的是redolog日志本身落盘),保证mysql重启后数据不丢失。

2、sync_binlog: 设置为1,表示每次事务的binlog都直接持久化到磁盘(注意是这里指的是binlog日志本身落盘),保证mysql重启后binlog记录是完整的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 中国地质大学 工业通风及除尘 复习题

《工业通风及除尘》模拟题 一.单选题 1.下列选项()不是影响作业场所气象条件的基本参数. A.空气温度 B.空气湿度 C.空气组成 D.空气流速 2.自然通风中起主导作用的是(). A.温度 B.风压 C.风向 D.热压 3.矿山井下空气中含有多种有毒有害气体下列气体中不属于有毒气体的是(). A…

光纤收发器按照网管怎么分类?

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter),那么,光纤收发器按照网管怎么分类的?接下来我们…

[渝粤教育] 中国地质大学 数据结构 复习题 (2)

《数据结构》模拟题 一、单项选择题 1.假定对称矩阵按行序为主序顺序存储下三角元素到一维数组SA[1…n(n-1)/2]中对下三角中任一元素aij在一维数组SA中的下标k值为(). A.i(i-1)/2j-1 B.i(i-1)/2j C.i(i1)/2j-1 D.i(i1)/2j 2.____可作线性表的存储结构. A.循环单链表 B.三元组表…

java实现数据库内容修改_数据库更改到Java环境中实现可持续和平

java实现数据库内容修改对我们而言,可持续和平正在消除不确定性。 在这种情况下,由于数据库更改,欢迎使用Ruby的Active Record Migrations 。 迁移对我们意味着什么? 嗯,这是一种方便快捷的方法,可以以一致…

[渝粤教育] 中国地质大学 测试技术 复习题

《测试技术》模拟题 一.单选题 1.在一定条件下RC带通滤波器可看成是低通滤波器与高通滤波器()而成的. A.串联 B.并联 C.串并联 D.叠加 2.半导体式应变片在外力作用下引起其电阻变化的因素主要是(). A.长度 B.截面积 C.电阻率 D.高通 3.倍频程滤波器是一种()滤波器. A.高通 B.…

mysql tls_mysql8 参考手册--加密连接TLS协议和密码

支持的连接TLS协议MySQL支持使用TLSv1,TLSv1.1,TLSv1.2和TLSv1.3协议的加密连接,这些协议按从低到高的顺序列出。实际允许连接的协议集受多种因素影响:MySQL配置。可以在服务器端和客户端上都配置允许的TLS协议,以仅包…

电话光端机和PDH光端机的区别

电话光端机就是把传统的电话信号转换成光信号,可通过光纤传输电话、以太网、音频的设备,让电话信号能够传输的更长距离,而且传输速率上也有很大的提高。电话光端机和PDH光端机用法各不一样,而PDH光端机简单的说是通过光纤来传输E1信号和100M以太网信号。…

[渝粤教育] 中国地质大学 砌体结构设计 复习题 (2)

《砌体结构设计》模拟题 一.单选题 1.砖及砌块是砌筑墙体的主要材料如果需要抗压强度达到MU30的砌筑材料可选择(). A.混凝土空心砌块 B.蒸压灰砂砖 C.烧结多孔砖 D.烧结空心砖 2.水泥是工程建设中常用的水硬性胶凝材料.水泥的类别不同其使用范围也不同.不适用于大体积混凝土…

jcmd,大约JDK 11

NicolasFrnkel最近在博客文章“ 行业工具OpenJDK 11 ”中发布了与OpenJDK 11一起提供的命令行工具的调查。 在那篇文章中,他简要总结了工具jps (一个JVM进程状态工具 ), jinfo (一个JVM配置详细信息 )&…

[渝粤教育] 中国地质大学 职业健康管理体系 复习题 (2)

《职业健康管理体系》模拟题 单选题 1.参照ISO10013(GB/T19023-1996)质量手册编写指南建议把OHSMS文件分为()个层次. A.1 B.2 C.3 D.4 2.ISO采取行动在1996年推出ISO14000()体系. A.职业健康安全管理体系 B.质量管理体系 C.环境管理体系 D.安全管理体系 3.ISO采取行动在1994…

android 保存文件_Android 数据库操作框架LitePal使用介绍(一)

在Android开发中,前端开发很多情况数据都是从服务器端获取的,使用本地数据库的情况可能不会太常见。有一些需要本地保存的配置数据,也是使用Hawk框架等本地缓存框架进行保存。但是对于如果是一些需要本地保存的,又是大量的数据时&…

PDH光端机常见故障问题解决方法

在数字通信传输系统中,有两种数字光端机系列,一种叫“准同步数字系列光端机”(PlesiochronousDigitalHierarchy),简称PDH光端机;另一种叫“同步数字系列光端机”(SynchronousDigitalHierarchy&a…

[渝粤教育] 中国地质大学 运筹学 复习题

《运筹学》模拟题 一.单选题 1.线性规划无可行解是指(). A.进基列系数非正 B.有两个相同的最小比值 C.用大M法求解时最优解中还有非零的人工变量 D.可行域无界 2.甲乙两城市之间存在一公路网络为了判断两小时内能否有9000辆车从甲城到乙城应借助(). A.树的生成法 B.求最大流法…

[渝粤教育] 中国地质大学 高等数学(二) 复习题

《高等数学》模拟题 一.单选题 1.设五次方程有五个不同的实根则方程最多有()个实根. A.5 B.4 C.3 D.2 2.函数在点处连续是在该点处可导的() A.必要但不充分条件 B.充分但不必要条件 C.充要条件 D.无关条件 3.设函数则在点处(). A.连续但不可导 B.连续且 C.连续且 D.不连续 …

2006 mysql_MySQL 2006 超时

原因1. MySQL 服务宕了判断是否属于这个原因的方法很简单,执行以下命令,查看mysql的运行时长$ mysql -uroot -p -e "show global status like uptime;"----------------------| Variable_name | Value |----------------------| Uptime | 6892…

安防监控专用工业交换机与普通交换机的区别

工业交换机即工业以太网交换机,它作用是放到路由器后端,来扩展路由器接口,以解决接口不够用的问题。以太网在设计时,由于其采用载波侦听多路复用冲突检测(CSMA/CD机制),在复杂的工业环境中应用,其可靠性大大…

J2Pay –简介

介绍 J2Pay是用于Java的开源多网关支付库(由tranxactive提供)。 该库的主要目标是为多个网关同时提供简单通用的请求/响应,并且它不包括阅读网关文档。 如果您尝试在网关上工作,则不必阅读文档,因为该库具有内置的文档…

[渝粤教育] 西南科技大学 民事诉讼法学 在线考试复习资料

民事诉讼法学——在线考试复习资料 一、单选题 1.对不服裁定的上诉案件,法院经审理后作出裁判时( )。 A.应当使用判决书 B.应当使用裁定书 C.应当使用决定书 D.可以使用调解书 2.关于法院调解的效力说法错误的是( )。 A.结束诉讼程序 B.确认当事人之间的权利义务关系 C.当事人…

[渝粤教育] 西南科技大学 程序设计语言VB 在线考试复习资料(1)

程序设计语言VB——在线考试复习资料 一、单选题 1.列表项选择后得到的选中索引是指()。 A.Value B.ListValue C.Index D.ListIndex 2.为了隐藏一个窗体,所使用的方法为( )。 A.Load B.Show C.Hide D.UnLoad 3.在图片框中加载图形(c:\666.jpg)的方法是( )。 A.Loadpicture(“…

电话光端机与PCM复用设备的区别

电话光端机与PCM复用设备,都是使用标准PCM脉冲编码调制技术,具备滤波功能,使语音通话更清晰稳定!设备采用专用数字复接芯片,它将设备中的数字逻辑功能几乎全部集成,从而提高了产品的性能,且每路…