---
# System prepended metadata

title: mysql
tags: [mysql]

---

# mysql 

###### tags: `mysql` 

##  四大特性

 
- Atomic，原子性，事务的所有SQL操作作为原子工作单元执行，要么全部执行，要么全部不执行；

- Consistent，一致性，事务完成后，所有数据的状态都是一致的，即A账户只要减去了100，B账户则必定加上了100；

- Isolation，隔离性，如果有多个事务并发执行，每个事务作出的修改必须与其他事务隔离；

- Duration，持久性，即事务完成后，对数据库数据的修改被持久化存储。
 

## 事务 四种隔离级别

 

| 隔离级别 | 脏读 | 不可重复读 | 幻读 |
| -------- | -------- | -------- | -------- |
| 未提交读(Read uncommitted)     | Y     | Y     | N |
| 已提交读(Read committed)     | N     | Y     | Y |
| 可重复读(Repeatable read)    | N     | N     | Y |
| 可串行化(Serializable)    | N     | N     | N |

## 特性實現

- 原子性的实现
    - MySQL数据库事务的原子性是通过undo log实现的
- 持久性的实现
    - MySQl数据库事务的持久性是通过redo log实现的