当前位置: 首页 > 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

http://www.dtcms.com/a/73972.html

相关文章:

  • 使用 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知识库工具测评
  • yolo模型学习笔记——1——物体检测评估指标
  • C语言中的结构体指针
  • 轻量高效,掌控万物——MQTT协议漫谈
  • AutoGen :使用 Swarm 构建自治型多智能体团队
  • 词频统计 ccf-csp 2024-2-1
  • 如何对一个无序单链表排序
  • XSS漏洞靶场---(复现)
  • 设计模式-对象创建
  • 物联网中RFID标签需要人为赋予信息和手动粘贴/挂载的问题
  • Ubuntu快速安装使用gRPC C++