MySQL三种日志

一、undo log(回滚日志)
1.作用:
(1)保证了事物的原子性
(2)通过read view和undo log实现mvcc多版本并发控制
2.在事务提交前,记录更新前的数据到undo log里,回滚的时候读取undo log来进行回滚
3.undo log格式有一个rtx_id(上一次事物修改的id)和roll_ptr(指向需要回滚的版本)
版本链

二、redo log
1.作用:保证事务的持久性
2.WAL(write-ahead logging)先写日志技术:MySQL的写操作不是立即写到磁盘上的,而是先写到buffer pool里的缓存页生成脏页,再将脏页产生的变化写入到redo log buffer中,事务提交的时候将redo log buffer中内容循环写到磁盘中的redo log file中。后续innoDB引擎在适当的时候由后台线程将buffer pool中的脏页刷新到磁盘中。如果由于意外脏页数据没有持久化,可以根据redo log恢复数据到最新状态。
3.redo log的磁盘操作是顺序写,比随机写更高效。

三、binlog(在server层而不是存储引擎层)
1.作用:用于备份(记录全量日志,不小心整个数据库的数据被删除了)、主从复制

参考:图解MySQL

相关推荐

  1. MySQL Binlog 格式详解

    2024-03-11 12:34:02       19 阅读
  2. MYSQL

    2024-03-11 12:34:02       12 阅读
  3. 浅谈MySQL3

    2024-03-11 12:34:02       35 阅读
  4. docker 查看方式

    2024-03-11 12:34:02       23 阅读
  5. SpringBoot 项目,方式实现打印 sql

    2024-03-11 12:34:02       12 阅读

最近更新

  1. ArduPilot开源代码之AP_OpticalFlow_MSP

    2024-03-11 12:34:02       0 阅读
  2. API分页处理指南:Postman中的高效数据浏览技巧

    2024-03-11 12:34:02       1 阅读
  3. 对称加密与非对称加密如何实现密钥交换

    2024-03-11 12:34:02       1 阅读
  4. 各种音频处理器

    2024-03-11 12:34:02       1 阅读
  5. this指针

    2024-03-11 12:34:02       1 阅读
  6. Object.defineProperty与Proxy对比【简单易懂】

    2024-03-11 12:34:02       1 阅读

热门阅读

  1. MySQL的用户管理

    2024-03-11 12:34:02       22 阅读
  2. 阅读 Shell 脚本

    2024-03-11 12:34:02       22 阅读
  3. 【系统架构设计师考试大纲】

    2024-03-11 12:34:02       20 阅读
  4. 11_Http

    11_Http

    2024-03-11 12:34:02      22 阅读
  5. 少儿编程机器人软件的开发技术

    2024-03-11 12:34:02       23 阅读
  6. 从云计算到边缘计算:技术演进的下一个风口

    2024-03-11 12:34:02       28 阅读
  7. 云计算中仲裁节点和仲裁可用区介绍

    2024-03-11 12:34:02       29 阅读
  8. (二)PySpark3:SparkSQL编程

    2024-03-11 12:34:02       22 阅读
  9. Apache Spark 的基本概念和在大数据分析中的应用

    2024-03-11 12:34:02       24 阅读
  10. git push 跟 git push origin master的区别

    2024-03-11 12:34:02       25 阅读
  11. STM32使用定时器驱动电机

    2024-03-11 12:34:02       22 阅读