MySQL的binLog、redoLog、undoLog是什么?

binlog
  • 1.什么是binlog?
    binlog记录了数据库表结构和表数据变更,比如update/delete/insert/truncate/create。它不会记录select(因为这没有对表没有进行变更)

  • 2.binlog一般用来做什么?
    主要有两个作用:复制和恢复数据
    MySQL在公司使用的时候往往都是一主多从结构的,从服务器需要与主服务器的数据保持一致,这就是通过binlog来实现的
    数据库的数据被干掉了,我们可以通过binlog来对数据进行恢复。
    因为binlog记录了数据库表的变更,所以我们可以用binlog进行复制(主从复制)和恢复数据。

  • 3.支持引擎
    binlog 是MySQL的InnoDB引擎所产生的。

redolog
  • 1.什么是redolog?
    MySQL引入了redo log,内存写完了,然后会写一份redo log,这份redo log记载着这次在某个页上做了什么修改。

  • 2.redolog一般用来做什么?
    redo log的作用是为持久化而生的。写完内存,如果数据库挂了,那我们可以通过redo log来恢复内存还没来得及刷到磁盘的数据,将redo log加载到内存里边,那内存就能恢复到挂掉之前的数据了。

  • 3.支持引擎
    redolog无论MySQL用什么引擎,都会有的。

undolog
  • 1.什么是undolog?
  • undo log是把所有没有COMMIT的事务回滚到事务开始前的状态,系统崩溃时,可能有些事务还没有COMMIT,在系统恢复时,这些没有COMMIT的事务就需要借助undo log来进行回滚。
  • 2.undolog的作用?
    undo log主要有两个作用:回滚和多版本控制(MVCC)
    在数据修改的时候,不仅记录了redo log,还记录undo log,如果因为某些原因导致事务失败或回滚了,可以用undo log进行回滚
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值