🗄️ 第七章 用于保护数据库的基础知识-故障恢复与安全措施
📄 一句话概括

同步复制=主库每写一笔,从库跟着抄一笔:多台机器数据一致地跑同一个库——读写分离靠它、故障切换靠它、异地容灾也靠它。

📝 本节和前面几节的关系

7-8 的横向扩展说「加机器」,本节回答「多台机器的数据怎么保持一致」。它是读写分离的基石,也是 6-6 备份的升级版:备份是快照(要动手恢复),复制是活的副本(实时跟着走)。

一、复制的基本模型

应用写 → 主库(唯一可写)
              │ 实时同步(日志/变更流)
              ▼
        从库1、从库2、从库3(只读副本,扛查询)

二、同步 vs 异步复制

同步复制 异步复制
主库提交时机 等所有从库确认后才算成功 先提交,变更随后送达
一致性 强(主从时刻一致) 弱(有延迟,主新从旧)
写入速度 慢(要等网络往返) 快
主库挂掉时 从库不丢数据 可能丢最后一小段

取舍口诀:钱的事用同步,浏览的事用异步——余额、订单要强一致;文章浏览量晚几秒无所谓。

三、动手 Demo:纸面推演一次故障切换

正常时:主库 M 写入 order=1001 → 从库 S1/S2 秒级跟进
事故:M 断电(7-1 物理威胁)
切换:监控发现 M 失联(6-5)→ 提拔 S1 为新主
     → S2 改为跟随 S1 → 应用连接串切到 S1
恢复:M 修好后降级为从库,追平进度
—— 整套动作的前提:复制链路健康 + 切换流程演练过

【准备块】无——单机 SQLite 做不了真复制,推演记住「主从分工+切换前提」即可。

四、30 秒实验

把复制想成抄笔记:同步复制=你每写一笔同桌就核对一笔(永远一致,但你写字变慢);异步复制=下课再对(你写得快,但同桌可能漏最后一题)。考试(资金)选哪种?

五、常见误区

自测三问 1. 主库和从库各负责什么?(主库唯一可写;从库只读副本扛查询) 2. 同步与异步的核心取舍?(一致性 vs 写入速度——资金用同步、浏览用异步) 3. 为什么复制不能替代备份?(误删同步到全部副本——只有备份能回到过去)

相关笔记