当前位置: 首页 > news >正文

undo log ,redo log 和binlog的区别?

一.MySQL如何保证事务的一致性?

两阶段锁:

prepare阶段:

1.写入redo log (prepare)

2.通知server准备写入binlog

commit阶段:
1.写入binlog

2.提交redo log

二.有了binlog为什么还要记录redo log?

binlog和redo log虽然都是为了数据安全与恢复准备的,但是他们的侧重点和功能有所不同,

bin log记录的是SQL语句,属于逻辑日志,可以在所有存储引擎上运行,主要目标是为了数据备份与复制;

redo log记录的是具体的物理操作,属于物理日志,只能在innoDB引擎上使用,执行速度快,主要目标是为了保证高可用性。

三.典型的事务操作流程?

server接收更新数据请求

innoDB记录undo log

更新BufferPool

记录redo log(prepare)

记录binlog

提交redo log (commit)

四.undo log,redo log和binlog的对比?

undo log:innoDB引擎层,事务开始前的值(旧值),事务回滚,事务开始前;

redo log:InnoDB层,事务提交后数据,宕机恢复,事务执行中;

bin log:server层,SQL语句,主从复制和备份,事务提交时。

五.MySQL数据库结构?

server层:

        连接器

        解析器

        优化器

        执行器

        bin buffer

存储引擎层:

统一接口,

存储引擎:

        内存:

                bufferpool:

                        undo log buffer

                        change buffer

                redo log  buffer

        磁盘:

                undo log

                redo log

                bin log

相关文章:

  • 使用 yum 命令安装 MariaDB 指南
  • 安卓edge://inspect 和 chrome://inspect调试移动设备上的网页
  • 瑞幸需要宇树科技
  • UNION,UNION ALL 的详细用法
  • 【leetcode hot 100 437】路径总和Ⅲ
  • Typora 使用教程(标题,段落,字体,列表,区块,代码,脚注,插入图片,表格,目录)
  • 什么是广播系统语言传输指数 STIPA
  • CCF CSP 第30次(2023.05)(1_仓库规划_C++)
  • 关于运行 npm run serve/dev 运行不起来,node_modules Git忽略不了等(问题)
  • 冰羚杂谈(四)上下游对齐工作节奏
  • 基于SpringBoot+Vue3实现的宠物领养管理平台功能一
  • 算法竞赛-基础算法-位运算
  • 基于cat1的多传感器融合的贵重资产管理解决方案项目说明书
  • 基于Django的交通指示图像识别分析系统
  • Unity WebGL IIS报错无法使用
  • LeetCode 解题思路 19(Hot 100)
  • 轨迹规划:基于查找的(search-based)路径规划算法
  • Python集合
  • 如何使用MySQL快速定位慢SQL问题?企业级开发中常见业务场景中实际发生的例子。(一)
  • 【AI知识管理系统】(一)AI知识库工具测评
  • 《克莱默夫妇》导演罗伯特·本顿去世,终年92岁
  • 加强战略矿产出口全链条管控工作部署会召开
  • 10名“鬼火少年”凌晨结队在城区飙车,警方:涉非法改装,正处理
  • 伤员回归新援融入,海港逆转海牛重回争冠集团
  • 上报集团社长李芸:发挥媒体优势,让中非民心在数字时代更深层互联互通
  • 波音公司计划于2027年交付新版“空军一号”飞机