Mysql中的三种log原理

本文深入探讨了MySQL中的三种关键日志:Undo Log用于事务回滚和MVCC,保证原子性;Redo Log确保数据持久性,用于崩溃后修复;Binlog记录所有修改操作,支持备份、主从同步。这三种日志共同维护了MySQL的数据一致性和可靠性。
摘要由CSDN通过智能技术生成

技术主题

在涉及到存储数据的时候,经常用到关系性数据库,mysql是老生之谈了,今天博客的主题就是谈谈mysql的三种log,在日常工作中经常使用到的日志。

技术原理

undolog:是Innodb存储引擎生成的日志,用于事物的回滚和MVCC,保证了事务的原子性
redolog:是Innodb存储引擎生成的日志,用于崩溃后修复数据,保证了事务的持久性
binlog:是Server层的日志,用于备份数据,主从同步

技术原理-细讲一undo log

1)undo log用于回滚数据,在开始执行事务时,MYSQL会把更新前的数据都记录在undolog里面,事务提交前如果MYSQL崩溃,这时候我们可以进行回滚操作回到数据更新前的状态
undo log格式都有一个roll_pointer指针和一个trx_id事务id:
通过trx_id可以知道该记录是被哪个事务修改的
通过roll_pointer指针可以将这些undo log串成一个链表,链表称为版本链
2)在一个事务执行期间,MySQL会将所有的修改操作都写入到undolog中,并且在事务提交之前,这些操作不会被写入到磁盘中。这样可以提高系统的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhiguoXue_IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值