2023
01-03
01-03
Mysql中undo、redo与binlog的区别浅析
目录前言【undolog】【redolog】【binlog】总结前言MySQL中有六种日志文件,分别是:重做日志(redolog)、回滚日志(undolog)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slowquerylog)、一般查询日志(generallog),中继日志(relaylog)。其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意义。...
继续阅读 >
MySQL日志系统中最重要的日志为重做日志redolog和归档日志binlog,后者为MySQLServer层的日志,前者为InnoDB存储引擎层的日志。1重做日志redolog1.1什么是redologredolog用于保证事务的持久性,即ACID中的D。持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。redolog有两种类型,分别为物理重做日志和逻辑重做日志。在InnoDB中redolog大多数情况下...
事务的实现redolog保证事务的持久性,undolog用来帮助事务回滚及MVCC的功能。InnoDB存储引擎体系结构redologWriteAheadLog策略事务提交时,先写重做日志再修改页;当由于发生宕机而导致数据丢失时,就可以通过重做日志来完成数据的恢复。InnoDB首先将重做日志信息先放到重做日志缓存按一定频率刷新到重做日志文件重做日志文件:在默认情况,InnoDB存储引擎的数据目录下会有两个名为ib_logfile1和ib_logfile2的文件。每个...