学习顺序遵循“先跑通、再理解、再故障、最后架构”。每周至少保留一半时间动手,把命令、现象、判断依据和恢复结果写进自己的 Runbook。
阶段一:基础与 SQL
目标:能独立安装、连接和管理一个 MySQL 实例,理解一条 SQL 从执行到提交的关键路径。
| 学习内容 | 必须动手 | 验收结果 |
|---|---|---|
| 体系结构、配置、账号权限 | 完成实例初始化与最小权限账号 | 可解释配置来源和访问边界 |
| DDL、DML、事务与隔离 | 复现脏读/不可重复读相关现象 | 能说明不同读操作的并发行为 |
| 索引、执行计划 | 构造慢 SQL 并比较索引前后计划 | 能用证据解释访问路径 |
阶段项目
用 Docker Compose 启动 MySQL,完成初始化、账号授权、样例数据导入、慢日志开启,并提交一份“SQL 为什么变快”的对比报告。
阶段二:运维与恢复
目标:会做日常巡检、容量判断、备份与时间点恢复,知道任何高风险操作的回滚边界。
- 配置文件、日志、状态与 performance_schema
- 连接、线程、Buffer Pool、Redo、Undo 与 Binlog
- 逻辑备份、物理备份、增量与保留策略
- 完整恢复、对象恢复和时间点恢复
- 变更流程、权限审计与基础监控告警
阶段项目
随机生成一次误删除事件,使用全量备份与 Binlog 恢复到误操作前,并记录 RPO、RTO、校验 SQL 和改进项。
阶段三:性能与故障排查
目标:遇到慢 SQL、连接打满、锁等待、磁盘延迟或主从延迟时,能先止损、保护现场,再按证据定位根因。
- 建立基线:知道正常时的 QPS、延迟、连接、CPU、IO 与日志量。
- 制造故障:慢 SQL、长事务、连接泄漏、磁盘满、复制延迟。
- 按路径排查:业务影响 → 数据库状态 → 系统资源 → 变更时间线。
- 验证恢复:技术指标与业务指标共同恢复,并补告警与 Runbook。
阶段项目
完成一个不少于 6 个故障的 MySQL 故障盒子;每个故障必须包含现象、根因、排查证据、恢复命令、验证和复盘。
阶段四:复制与高可用架构
目标:能根据业务 RPO/RTO、一致性和故障域选择方案,并完成一次受控切换与恢复。
- 复制原理、GTID、延迟与常见故障
- 异步、半同步与 Group Replication 的边界
- Orchestrator、代理、VIP/服务发现的职责
- 故障判断、旧主隔离、新主提升与流量切换
- 备份、容灾、监控和演练如何共同组成体系
阶段项目
搭建一主两从或等价实验拓扑,模拟主库故障,执行切换、业务验证、旧主重建和回切,并用时间线复盘每个决策。
建议的每周节奏
| 时间占比 | 活动 | 输出 |
|---|---|---|
| 25% | 概念与原理 | 一页结构图或机制说明 |
| 45% | 实验与故障 | 命令、截图、日志和结果 |
| 20% | 面试表达 | 90 秒口述与追问 |
| 10% | 复盘 | Runbook 与错题清单 |
扩展路线:Redis、PostgreSQL 与达梦
先用 MySQL 建立数据库运维的通用框架,再迁移到其他数据库:体系结构、事务与存储、备份恢复、监控、故障排查和高可用。对比差异时围绕真实业务约束,不做命令清单式学习。
完成路线的验收标准
- 能在 30 分钟内完成常见告警的初步定界
- 能从零恢复一套数据并给出校验结果
- 能解释一条 SQL 的执行计划与优化证据
- 能设计高可用方案并说明故障与一致性边界
- 能把一次故障写成其他人可复现的 Runbook