首页 > TAG信息列表 > undolog
Mysql 三大日志(binlog、redolog和undolog)
前言:Mysql事务隔离性由锁机制实现,Mysql事务的原子性、一致性、持久性由日志来实现。 Redo Log称为重做日志,提供写入操作,恢复提交事务修改页的操作,用来保证事务的持久性。 Undo Log称为回滚日志,回滚记录到某个特定的版本,用来保证事务的原子性和一致性。Mysql:事务的四大性质及解决
事务的四大性质: 原子性:通过undolog日志文件实现持久性:通过redo log实现隔离性:通过锁和mvcc机制实现一致性:通过上面三个实现锁: 加锁会降低数据库读写效率当前读:总是读取最新的数据 读锁(共享锁):select…lock in share mode写锁(排它锁):select…for update、update、insert数据库日志binLog、undoLog和redoLog
背景 日志是mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(bin log)和事务日志(包括redo log和undo log)。《mysql》之undolog
undo log有两个作用:提供回滚和多个行版本控制(MVCC)。 在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败或回滚了,可以借助该undo进行回滚。 undo log和redo log记录物理日志不一样,它是逻辑日志。可以认为当delete一条记录时,undo log中会记mysql锁
事物的隔离性是由锁来实现,原子性和持久性由redo log来实现,一致性由undo log来实现 原子性:由,redolog, undolog, undolog的另外一个作用是mvcc,当用户读取一行记录时,若该记录已经被其他事物占用,当前事物可以通过Undo读取之前的行版本信息,以此实现非锁定读取 持久性:由redoloMySql的二进制日志,重做日志笔记,UndoLog
简单总结一下二进制日志和重做日志的区别 二进制日志(bin log):是mysql数据库级别的文件,不会记录select和show语句,主要用于恢复数据库和集群,配置参数为sync_binlog=N(表示每写缓冲多少次就同步一次磁盘),1表示同步方式写磁盘(写一次缓存即同步一次磁盘),默认为0,事务提交时会写磁盘(仅在