MySQL 是如何实现事务的?

March 15, 2025 / 老大 / 6阅读 / 0评论/ 分类: 数据库

回答重点

MySQL主要是通过锁、redolog、undolog、和MVCC来实现事务。

MySQL利用锁(行锁、间歇锁等)机制,使用数据并发修改的机制,来满足事务的隔离性。

redolog(重做日志)会记录事务对数据库的所有修改,当MySQL发生宕机或崩溃时,通过重放redolog就可以恢复数据,用来满足事务的持久性。

undolog(回滚日志)会记录事务的反向操作,简单说就是保存数据的历史版本,用于回滚事务,使得事务执行失败后可以恢复到之前。实现了原子性和隔离性。

MVCC(多版本并发控制)满足了非锁定读的需求,提高了并发度,实现了读已提交和可重复读两种隔离级别,实现了事务的隔离性。

其实事务主要是为了实现一致性,具体是通过AID,也就是原子性、隔离性和持久性来达到一致性的目的。

#MySQL(21)

评论