redo、undo、binlog的区别

在MySQL中,redo、undo、binlog经常见,但很容易混淆这三者。

  redo undo binlog
作用 保持事务的持久性 帮助事务回滚及MVCC的功能 进行Point-In-Time的恢复及主从复制环境的建立
产生主体 InnoDB MySQL MySQL
类型 物理日志 逻辑日志 逻辑日志
内容 每个页的修改 修改前的行数据 执行的SQL语句
每个事务的日志数量 事务执行中不断写入,多事务可并发写入 看修改的行数据量 事务提交后记一条SQL语句
时间: 2024-07-30 13:49:06

redo、undo、binlog的区别的相关文章

mysql中redo和binlog的区别

影响MySQL中redo的配置参数: innodb_log_file_size:指定每个redo日志大小,默认值48MB innodb_log_files_in_group:指定日志文件组中redo日志文件数量,默认为2 innodb_log_group_home_dir:指定日志文件组所在路劲,默认值./,指mysql的数据目录datadir 查看innodb配置: mysql> show variables like 'innodb%log%'; +---------------------

MySQL 中Redo与Binlog顺序一致性问题 【转】

首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的.而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的.现在我们来讨论一下MySQL主从复制过程中的一些细节问题,有关于主从复制可以看具体的章节. 在了解了以上基础的内容后,我们可以带着以下的几个问题去学习复制到底是怎样工作的. 为什么MySQL有binlog,还有redo log? 事务是如何提交的?事务提交先写binlog还是redo log?如何保证这两部分的日志做到顺

MySQL 中Redo与Binlog顺序一致性问题

首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的.而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的.现在我们来讨论一下MySQL主从复制过程中的一些细节问题,有关于主从复制可以看具体的章节. 在了解了以上基础的内容后,我们可以带着以下的几个问题去学习复制到底是怎样工作的. 为什么MySQL有binlog,还有redo log? 事务是如何提交的?事务提交先写binlog还是redo log?如何保证这两部分的日志做到顺

MYSQL INNODB的REDO LOG与BINLOG的区别

MYSQL INNDODB的REDO LOG与BINLOG从表面上看来是非常相似的.然而本质上有很大的区别: 第一:REDO LOG是在INNODB存储引擎层产生,而BINLOG是MYSQL数据库的上层产生的,并且二进制日志不仅仅针对INNODB存储引擎,MYSQL数据库中的任何存储引擎对于数据库的更改都会产生二进制日志. 第二:两种日志记录的内容形式不同.MYSQL的BINLOG是逻辑日志,其记录是对应的SQL语句.而INNODB存储引擎层面的重做日志是物理日志. 第三:两种日志与记录写入磁盘

oracle redo undo

redo--> undo-->datafile insert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据. redo解释:在Oracle数据库中,执行数据修改操作后,并不是马上写入数据文件,而是首先生成重做信息,并写入SGA中的一块叫LOG_BUFFER的固定区域,LOG_BUFFER的空间并不是无限大,事实上它非常小,一般设置在3-5MB左右.LOG_BUFFER

Oracle——redo+undo总结

<Oracle------redo> 重做日志文件(redo log file)对数据库来说至关重要,他们是数据库的事务日志: Oracle数据库维护着两类重做日志文件:在线重做日志文件(redo)和 归档重做日志文件(archive log),(归档重做日志文件实际上就是已填满的"旧"在线重做日志文件的副本) 这两类重做日志文件都是用于恢复的: ①:如果数据库所在主机掉电,导致实例失败,Oracle会使用在线重做日志将系统恢复到恰好在掉电之前的那个提交点: ②:如果磁盘驱

slave库写redo、binlog不实时丢数据的场景

1.slave涉及相关文件 slave读取master的binlog日志后,需要落地3个文件:relay log.relay log info.master info: relay log: 即读取过来的master的binlog,内容与格式与master的binlog一致 relay log info: 记录SQL Thread应用的relay log的位置.文件号等信息 master info: 记录IO Thread读取master的binlog的位置.文件号.延迟等信息 如果当这3个文件

Redo,Undo,Binlog

https://www.jianshu.com/p/d829df873332 https://www.jianshu.com/p/57c510f4ec28 对于面向disk的数据库, 需要把数据先写入到page中,然后成批的flush到磁盘,所以在Page没有flush前需要有log能记录下page的state 这就是Redo,所以Redo是物理的,因为记录的是Page的具体变更,用Redo的目的是恢复出之前的page Redo本身也是要写disk,每个操作去写也不合适,所以Redo也有个buf

如何理解redo和undo的作用

目录 如何理解redo和undo的作用 redo undo UNDO和REDO的区别 如何理解redo和undo的作用 redo 重做日志(redo)包含所有数据产生的历史改变记录,是oracle在线或归档重做日志文件中记录的信息,一旦掉电或其他意外丢失数据,可以利用这些数据来重做事务,例如已经出现了丢失数据的情况,那么就可以利用redo来重放事务,通常用于实例恢复和介质恢复.日志挖掘和流(分析redo,捕获实时数据,传到远程数据库,并应用于远程数据库).Redo中保存的内容是改变向量,改变数据