ACID 怎么保证的?⭐

原子性由 undo log 日志来保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的 sq|
致性是由其他三大特性保证,程序代码要保证业务上的一致性
隔离性是由 MVCC 来保证
持久性由 redolog 来保证,mysq| 修改数据的时候会在 redo log 中记录一份日志数据,就算数据没有保存成功,只要日志保存成功了,数据仍然不会丢失

预留问题:

  1. MVCC 保证隔离性
  2. redo log 和 bin log 如何保证一致的(两阶段提交)

什么是 mysql 的【主从复制】?

MySQL 主从复制是指数据可以从一个 MySQL 数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

mysql 为什么需要【主从同步】?

  1. 读写分离。在业务复杂的系统中,有这么一个情景,有一句 sq| 语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
  2. 做数据的热备。
  3. 架构的扩展。业务量越来越大,I/O 访问频率过高,单机无法满足,此时做多库的存储,降低磁盘 I/O 访问的频率,提高单个机器的 I/O 性能。

https://www.bilibili.com/video/BV1hv411K7Ey?p=68&spm_id_from=pageDriver