学习顺序遵循“先跑通、再理解、再故障、最后架构”。每周至少保留一半时间动手,把命令、现象、判断依据和恢复结果写进自己的 Runbook。

阶段一:基础与 SQL

目标:能独立安装、连接和管理一个 MySQL 实例,理解一条 SQL 从执行到提交的关键路径。

学习内容必须动手验收结果
体系结构、配置、账号权限完成实例初始化与最小权限账号可解释配置来源和访问边界
DDL、DML、事务与隔离复现脏读/不可重复读相关现象能说明不同读操作的并发行为
索引、执行计划构造慢 SQL 并比较索引前后计划能用证据解释访问路径

阶段项目

用 Docker Compose 启动 MySQL,完成初始化、账号授权、样例数据导入、慢日志开启,并提交一份“SQL 为什么变快”的对比报告。

阶段二:运维与恢复

目标:会做日常巡检、容量判断、备份与时间点恢复,知道任何高风险操作的回滚边界。

  • 配置文件、日志、状态与 performance_schema
  • 连接、线程、Buffer Pool、Redo、Undo 与 Binlog
  • 逻辑备份、物理备份、增量与保留策略
  • 完整恢复、对象恢复和时间点恢复
  • 变更流程、权限审计与基础监控告警

阶段项目

随机生成一次误删除事件,使用全量备份与 Binlog 恢复到误操作前,并记录 RPO、RTO、校验 SQL 和改进项。

阶段三:性能与故障排查

目标:遇到慢 SQL、连接打满、锁等待、磁盘延迟或主从延迟时,能先止损、保护现场,再按证据定位根因。

  1. 建立基线:知道正常时的 QPS、延迟、连接、CPU、IO 与日志量。
  2. 制造故障:慢 SQL、长事务、连接泄漏、磁盘满、复制延迟。
  3. 按路径排查:业务影响 → 数据库状态 → 系统资源 → 变更时间线。
  4. 验证恢复:技术指标与业务指标共同恢复,并补告警与 Runbook。

阶段项目

完成一个不少于 6 个故障的 MySQL 故障盒子;每个故障必须包含现象、根因、排查证据、恢复命令、验证和复盘。

阶段四:复制与高可用架构

目标:能根据业务 RPO/RTO、一致性和故障域选择方案,并完成一次受控切换与恢复。

  • 复制原理、GTID、延迟与常见故障
  • 异步、半同步与 Group Replication 的边界
  • Orchestrator、代理、VIP/服务发现的职责
  • 故障判断、旧主隔离、新主提升与流量切换
  • 备份、容灾、监控和演练如何共同组成体系

阶段项目

搭建一主两从或等价实验拓扑,模拟主库故障,执行切换、业务验证、旧主重建和回切,并用时间线复盘每个决策。

建议的每周节奏

时间占比活动输出
25%概念与原理一页结构图或机制说明
45%实验与故障命令、截图、日志和结果
20%面试表达90 秒口述与追问
10%复盘Runbook 与错题清单

扩展路线:Redis、PostgreSQL 与达梦

先用 MySQL 建立数据库运维的通用框架,再迁移到其他数据库:体系结构、事务与存储、备份恢复、监控、故障排查和高可用。对比差异时围绕真实业务约束,不做命令清单式学习。

完成路线的验收标准

  • 能在 30 分钟内完成常见告警的初步定界
  • 能从零恢复一套数据并给出校验结果
  • 能解释一条 SQL 的执行计划与优化证据
  • 能设计高可用方案并说明故障与一致性边界
  • 能把一次故障写成其他人可复现的 Runbook