目录

  • 关于undo log
  • 关于redolog
  • 关于binlog
  • 一个事务的提交流程

undo log :记录数据被修改之前的样子
redo log:记录数据被修改之后的样子
bin log:记录整个操作。

关于undo log

关于undo log:

在执行一条涉及数据变更的sql时,在数据加载到buffer Pool时,同时会在undo log写入原来的记录。

关于redolog

关于redo log
mysql对于数据操作是在内存(buffer Pool)中的。但是断电时,内存数据会全部丢失。redo log 记录数据修改之后的值,不管事务是否提交都会记录下来。

当redo log buffer可能会出现异常情况:
case1 :redo log buffer 中的数据未能及时写入磁盘,系统宕机。mysql认为该操作为失败操作,重启之后数据回滚
case2 : redo log buffer 刷入磁盘成功之后宕机,那么重启之后mysql会加载redo 内容到buffer Pool中。(redo log commit 才算成功)

关于binlog

关于bin log:记录整个操作过程,主要应用场景:主从数据同步

一个事务的提交流程

1、首先执行器根据mysql的执行计划来查询数据,如果buffer Pool中没有,就去数据库中查询,查询到了再将其放到缓存池中。
2、在数据被缓存到缓存池的同时,会写入undo log日志文件
3、更新的动作是在缓存池中完成的。同时会将更新后的数据添加到redo log buffer中
4、将redo log buffer 中数据刷入到redo log文件中
5、将本地操作记录写入到bin log文件中
6、将bin log文件名字和更新内容在binlog中位置记录到redo log中,同时在redo log最后添加commit 标记。

Mysql的undo、redo、bin log分析相关推荐

  1. mysql bin 分析_mysql bin log 分析

    1.mysql现状 mysql> show binary  logs; +------------------+-----------+ | Log_name         | File_si ...

  2. [转]MySQL日志——Undo | Redo

    本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多 ...

  3. MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)

    日志的重要性 日志绝对是数据库的核心.   持久化的日志记录了各种重要的信息. 数据的恢复需要依赖日志.  慢查询sql语句需要用到慢查询日志.以及错误日志中保存着mysqld数据库服务端在启动过程中 ...

  4. bin log,redo log以及undo log详解

    1 bin log 1.1 定义 bin log应该说是Mysql里最核心的日志,是MySQL数据库级别的文件,记录对MySQL数据库各种引擎下执行修改的所有操作(包括DDL和DML语句),不会记录s ...

  5. 说说MySQL中的Redo log Undo log都在干啥

    在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件. MySQL中的日志文件,有这么两类常常讨 ...

  6. 如何解决 bin log 与 redo log 的一致性问题

    如何解决 bin log 与 redo log 的一致性问题 为什么说 redo log 具有崩溃恢复的能力 MySQL Server 层拥有的 bin log 只能用于归档,不足以实现崩溃恢复(cr ...

  7. Mysql的undo log详解

    一.简介 redo log是事务持久性的保证,undo log是事务原子性的保证.在事务中更新数据的前置操作其实是要先写入一个undo log. 二.作用 1.用于数据的回滚.比如数据执行时候发生错误 ...

  8. redo log和bin log以及两阶段提交(笔记)

    1.redo log 如果熟悉MySQL你肯定知道MySQL能过对数据进行恢复(前提是开启bin log日志),当然这要归功于bin log日志.但是你可曾听过redo log呢? 首先redo lo ...

  9. mysql binlog size_设置max_binlog_size和expire_logs_days参数,设置mysql数据库bin log清除机制...

    自从前段时间数据库服务增加了mysql主从同步功能,发现主服务器的bin log日志一直在增长,短短一段时间有的文件达到几百兆.如果时间长了势必会占用很多服务器资源. 在百度搜索到,mysql-bin ...

最新文章

  1. Java map 知识
  2. ajax post json php,ajax POST json对象给PHP,PHP怎么接收值
  3. pytorch 中的 split
  4. 想学python买什么书好-学习 Python 用哪本书好?
  5. 莫烦python学习笔记之numpy基本运算
  6. React Native学习总结第二天
  7. 租房管理系统毕业设计Java_java毕业设计_springboot框架的租房管理系统
  8. 解决C:\Users\Admin\AppData\Roaming\npm\nodemon.ps1
  9. 软件工程经济学期末复习
  10. 自学python教程免费python教程视频
  11. 为什么微信显示这个android设备,微信显示安卓手机型号在哪设置
  12. Ubuntu 16.04通过Trickle限制某个软件的下载/上传速度
  13. linux删除每行首字符,vim技巧:删除行首、行末的空白字符,删除空白行
  14. 如何精确的设置行与行之间的间距
  15. 程序员们,千万不要接私活!
  16. icpc 北京赛区总结
  17. Hive转换常用函数
  18. 用matlab求解工作时间调度问题,置换流水车间调度问题的MATLAB求解
  19. 【2020年天梯赛—校内选拔赛】7-8 悄悄关注
  20. 对于ASR流程的理解

热门文章

  1. java maven 项目依赖关系,java – 关于依赖关系共享的Maven多模块项目组合
  2. java常用代码,Java常用代码
  3. linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载
  4. mysql 表结构 增删改查_mysql学习【第3篇】:数据库之增删改查操作
  5. mysql 数据如何存储,MySQL如何存储数据
  6. linux进程属主6,20150917 Linux进程查看与管理以及作业管理
  7. 转子碰磨 matlab,航空科普:什么是航空发动机转子碰磨?
  8. 鼠标拖动改变DIV等网页元素的大小的最佳实践
  9. 实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2
  10. 从代码里提取的测试需求