MySQL redo log

这篇具有很好参考价值的文章主要介绍了MySQL redo log。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

redo log介绍

重做日志,用于记录事务操作的变化,确保事务的持久性。redo log是在事务开始后(begin; 之后)就开始记录,不管事务是否提交都会记录下来,在异常发生时(如数据持久化过程中掉电),InnoDB会使用redo log恢复到掉电前的时刻,保证数据的完整性。

undo log 称为逻辑日志, redo log称为物理日志;

innodb_log_buffer_size默认是16M,就是redo log缓冲区的大小,它随着事务开始,就开始写redo log,如果事务比较大,为了避免事务执行过程中花费过多磁盘IO,可以设置比较大的redo log缓存,节省磁盘IO;

redo log在磁盘上的位置是 /var/lib/mysql 下的ib_logfile0 和 ib_logfile1

buffer pool缓存池用于加速读和加速写,直接操作 data page,写redo log修改就算完成,有专门的线程去做把buffer pool中的dirty page写入磁盘。大小默认为134M

事务commit; 提交事务时,将InnoDB Log Buffer写入磁盘,redo log状态记录为commit;

Buffer Pool 里脏数据不需要写入磁盘与commit操作同步。而是开另一个线程再把内容写入磁盘。若这个数据刷新到磁盘的过程中出现掉电的情况,下次mysqld服务重启后,会根据redo log 内记录的数据进行数据恢复。undo log 也是要记录在 redo log 中

事务最重要的就是写redo logo;

MySQL redo log

MySQL redo log文章来源地址https://www.toymoban.com/news/detail-486954.html

到了这里,关于MySQL redo log的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 三大日志(bin log、redo log、undo log)

    redo log (重做日志) 是 InnoDB 存储引擎独有的,它让 MySQL有了崩溃恢复的能力,是事务中实现 持久化的重要操作 比如 MySQL 实例宕机了,重启时, InnoDB 存储引擎会使用 redo log 恢复数据,保 证数据的持久性与完整性 。 MySQL 中数据时以页为单位,查询一条记录,会从硬盘中把该

    2024年02月07日
    浏览(39)
  • 必须了解的mysql三大日志-binlog、redo log和undo log

    MySQL实现事务、集群的主从复制,底层都离不开日志,所以日志是MySQL的精华所在。只有了解MySQL日志,才算是彻底搞懂MySQL 本文主要讲述MySQL的三大日志系统,Redo Log(重做日志)、Undo Log(恢复日志)、Bin Log(备份日志) Bin Log记录的是逻辑日志,即原始的SQL语句,是MySQL自

    2024年02月05日
    浏览(45)
  • MySQL知识学习03(三大日志详解 binlog、redo log、undo log)

    前言 MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属 二进制日志 binlog(归档日志) 和 事务日志 redo log(重做日志) 和 undo log(回滚日志) 。 1、redo log? redo log (重做日志)是 InnoDB 存储引擎独有的,它让

    2024年02月02日
    浏览(35)
  • Mysql日志redo log、bin log、undo log 区别与作用及二阶段提交

    重做日志 作用:确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。 内容:物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log file的物理文件中

    2024年02月03日
    浏览(29)
  • 一文读懂MySQL7大日志(slow、redo、undo、bin、relay、general、error)

    用于记录执行时间超过指定值的 SQL 语句的详细信息,多用于调试和监控。 因为开启会略微影响性能,所以默认没有开启,所以需要配置。 重做日志,记录了数据库中发生的每次修改,如增、删、改、对数据页的更改。这些修改被记录在 redo 日志中,以便在数据库崩溃或意外

    2024年03月09日
    浏览(50)
  • mysql事务日志和MVCC

    1.mysql的redolog日志和undolog日志的作用? A redolog主要作用是保证 提交 commit 的数据的成功 将修改的数据在正式 提交 commit 前进行记录 记录的方式,将日志从内存刷新给文件缓存,文件缓存什么时候落盘由操作系统自行决定(2) redolog日志的主要作用保证commit行为的安全性 B undo

    2024年01月22日
    浏览(35)
  • 第三十二章:MySQL事务日志

    事物有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事物的隔离性有锁机制实现。 而事物的原子性、一致性和持久性由事物的 redo 日志和 undo 日志来保证。 REDO LOG 称为重做日志,提供再写入操作,恢复提交事物修改的页操作

    2024年02月15日
    浏览(29)
  • DBeaver调出查询管理或事务日志,即sql执行的记录——DBeaver笔记

    问题 : 如何调出查询管理或事务日志,即sql执行的记录 答案 : 可以对日志进行刷新,筛选,清除的等等,个人试过,还是相当的好用

    2024年02月15日
    浏览(48)
  • MYSQL事务同时修改单条记录

    疑问:Mysql多事务默认情况下,同时修改同一条记录运行修改吗?是否要手动加上for update行锁。 猜想:MySQL 会自动对涉及的数据行加上写锁(排他锁),以确保数据的一致性和隔离性。这是在默认的事务隔离级别 Repeatable Read 下的行为。 验证 第一个事务不结束,并对message

    2024年02月14日
    浏览(29)
  • 02_重要的两个日志 redo log 和 binlog

    MySQL 45 讲Note: 课程专栏名称:《MySQL实战45讲》课程 笔记参考:MYSQL45 讲 想要理解这两个日志 redo log 和 binlog ;我们需要对MySQL 的备份恢复机制有一个基本的了解。 之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,带着好奇的态度,这是怎样做到的呢

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包