mysql三大日志 undolog,redolog,undolog

Mysql三大日志

(1)bin log日志是用在主从复制场景下,跟事务没有什么关系

将master数据库的增删改SQL语句以二进制的形式记录到bin log日志里面,然后将这个binlog日志发送给slave数据库,slave数据库执行binlog日志中的增删改sql语句来达到和master数据库数据一致

(2)undo log和redo log   

①undo log里面存的是数据被修改之前的数据,redo log存的是数据被修改之后的数据

执行undo log会回滚到事务执行前的数据,可以保证原子性

当数据库宕机了,数据库执行redo log可以将数据恢复到事务执行后的版本,可以保证持久性

②undo log是逻辑日志(针对的是每一行的记录),存储的是数据修改的逆操作(如果执行了一条 UPDATE 语句将某个字段的值从 10 修改为 15,那么 Undo Log 中就会记录一个相应的逆操作,将这个字段的值从 15 修改回 10。但不是完整的sql语句)redo log是物理日志(针对的是整个物理页),磁盘中哪一页的哪个数据被改成什么了

能不能用redo log替代bin log?

不能,因为(1)bin log是满了会再起一个新的bin log文件,redo log满了会覆盖之前的redo log

(2)bin log是逻辑日志,redo log是物理日志,记录的是哪个数据页的哪个数据被改成什么了,在不同的机器上数据的位置是不一样的,可能在这个机器上是在这个数据页上,在另一台机器,就是在另一个数据页上

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值