ACID 四大特性

  • 原子性( Atomicity ) :事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
  • 一致性( Consistency ):执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的;也有表示为从一个合法状态转变为另一个合法状态。
  • 隔离性( Isolation ):并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;或者说,对于事务 a 来说,事务 b 要不在事务 a 前,要不在事务 a 后。
  • 持久性( Durability ):一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。MySQL 持久化

原子性

MySQL 通过 Undolog 日志 来保证事务的原子性。
当事务执行成功,那么则正常成功。
当事务执行失败,那么基于 Undolog 日志 将修改的数据回滚到修改前的形式。

隔离性

MySQL 通过 MySQL 锁机制MySQL MVCC 来保证事务的隔离性。

持久性

MySQL 通过 Redolog 日志 来保证事务的持久性,事务的修改能够保存记录下来。