半年工作规划:从基础运维到具备DBA实战能力
30岁,外包基础组件运维。4年 yum/ntp 这类基础组件经验,3年数据库接触经验,但工作中用不到核心库。 这份计划要解决的不是"学什么",而是"半年后拿什么去面试"——所以每一周都绑定了可交付的产出(博客、脚本、故障手册、简历)。
一、为什么是数据库这条路
结论先行:未来2-3年只做一件事——把3年数据库经验深挖成DBA/云数据库能力,跳出外包进甲方或云厂商。
三个理由,都能回到具体处境:
- 资本增值这条路已经被自己证伪。 研究股票基金但亏损严重,说明没有可复制的盈利体系;10-30万本金年化15%也只有几万,覆盖不了生活。睡后收入 = 本金 × 体系,两个都没有。
- 做生意需要资源,不是勇气。 没有行业客户、没有供应链,10-30万存款一次失败就清零,这个最坏结果承担不起。
- 数据库是手里唯一在升值、且AI短期替不掉的位置。 被裁和AI替代的第一批恰恰是基础组件运维;而数据库是企业的数据命脉,半夜救火的人短期替代不了。
二、每周固定节奏
| 时段 | 内容 | 时长 |
|---|---|---|
| 周一至周五 21:00-22:30 | 当周技术任务 | 1.5h × 5 |
| 每天睡前 | 问题日志:今天遇到/解决了什么,三行字 | 10min |
| 周六 09:00-12:00 | 动手实操 + 写当周博客 | 3h |
| 周日 20:00-21:00 | 复盘 + 下周清单 | 1h |
| 每周碎片 | 社区答题、博客留言互动(硬上限2小时) | ≤2h |
| 通勤/午休 | 碎片时间读书、看文档,不计入10小时 | — |
三条硬规则:学习时段不看行情;每周必须有一篇博客,没有产出的一周等于没学;所有实验脚本、配置、故障手册都进同一个 GitHub 仓库。
三、六个月路线图
四、逐月计划
11月:MySQL 地基与备份恢复
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第1周 | Docker 跑 MySQL 8.0;啃透 redo/undo/binlog 三种日志;show binlog events 验证;注册SO/PG中文社区/AskTUG,进2-3个DBA群,开记问题日志 |
博客#1、GitHub 仓库、数据库实例清单、社区账号 |
| 第2周 | 一主一从异步复制 → 升级 GTID;制造3种复制错误并修复 | 博客#2;向领导申请接管1个实例 |
| 第3周 | XtraBackup 全量+增量;删库恢复演练(恢复到备份点后用 binlog 补数据) | 博客#3、生产级备份脚本+crontab |
| 第4周 | 一主两从;主从延迟排查;半同步复制;binlog 三种格式 | 博客#4、月度复盘 |
月底验收:环境能演示、删库能恢复、备份脚本已在跑、博客4篇。
12月:故障排查与性能优化
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第5周 | 慢查询日志、performance_schema、sys 库;Prometheus+Grafana 数据库监控 | 博客#5、接管实例的监控告警 |
| 第6周 | explain 逐字段精读;联合索引/回表/ICP/覆盖索引;5个慢SQL改造 | 博客#6 |
| 第7周 | 故障演练:kill 主库→手工提拔从库→旧主回归;大事务导致的主从延迟 | 博客#7、故障报告模板 |
| 第8周 | 故障演练:磁盘写满、连接数打满、误删表+binlog闪回 | 博客#8、5类故障处置手册 |
月底验收:给你一台慢库/挂了的库,能独立走完"定位—处置—复盘"。
1月:高可用 + Redis
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第9周 | MySQL Shell + MGR 三节点单主;演练自动选主;理解其局限 | 博客#9 |
| 第10周 | ProxySQL 或 Orchestrator 自动切换;双1参数取舍;写 docker-compose 一键起全套 | 博客#10、compose 仓库 |
| 第11周 | Redis 主从+哨兵;RDB/AOF 取舍;maxmemory 淘汰策略;大key热key扫描 | 博客#11 |
| 第12周 | 复现穿透/雪崩/击穿;MySQL+Redis 一致性(延迟双删、canal思路) | 博客#12、季度财务复盘 |
月底验收:技能树 = 备份恢复 + 优化 + 高可用 + Redis,博客满12篇。
2月:PostgreSQL + 认证(信创差异化)
为什么从 TiDB 改成 PG:手里已有两本 PG 书,学习成本减半;信创国产库(openGauss/GaussDB/Kingbase/PolarDB)大多是 PG 血统,学一次通多条赛道;PG 岗竞争者远少于 MySQL。
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第13周 | PG 进程模型、MVCC 与 MySQL 的差异、VACUUM、WAL、流复制 | 博客#13、《MySQL vs PG 运维对照表》 |
| 第14周 | Patroni + etcd 高可用与自动切换;信创生态扫盲;迁移要点清单 | 博客#14 |
| 第15周 | 定认证(ACP 优先,其次 OCP);按大纲标注"会/模糊/不会";报名锁日期 | 报名完成 |
| 第16周 | 题库一轮 + 错题册;给甲方/领导交《岗位基础设施优化建议》 | 博客#15、优化建议文档 |
3月:简历、作品集、模拟面试
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第17周 | 简历按"数据库"主线重写:定位句 + 技能清单 + 项目化经验 + 作品集链接 | 简历V2 |
| 第18周 | GitHub README(架构图、一键启动、故障手册);博客目录页+转型总篇 | 博客#16 |
| 第19周 | 50道高频题;2场模拟面试(实操叙事题、项目深挖题) | 面试复盘清单 |
| 第20周 | 目标公司清单分 A/B/C 三档 + 差距表;第3场模拟面试 | 博客#17 |
4月:试水投递,验证市场定价
| 周 | 主要任务 | 产出 |
|---|---|---|
| 第21-22周 | 只投 B/C 档 10-15 份(A 档留到下半年);每场当天复盘 | 面试记录(薪资报价、对外包+作品集的真实反应) |
| 第23周 | 按反馈补最大短板;参加认证考试 | 证书、博客#18-20 |
| 第24周 | 半年复盘,用数据决策:通过率≥30% → 下半年正式跳;市场价≥现薪+40% → 值跳 | 下半年方案 |
| 第25-26周 | 收尾整理、短途休整、转入每周6小时的维护模式 | — |
五、六本书怎么用
| 书 | 用在哪 | 怎么用 |
|---|---|---|
| 《MySQL技术内参》 | 11-12月主力 | 体系结构、日志、复制、InnoDB 内核对实验印证;读不懂的先标记,第4周回炉 |
| 《MySQL DBA工作笔记》 | 12月故障月 | 当案例集:先看书里怎么处置,再在自己环境复现 |
| 《MySQL高可用解决方案》 | 1月 | 搭完 MGR/中间件后回头读选型对比章节 |
| 《PostgreSQL实战》 | 2月第13周 | 架构、VACUUM、WAL、备份、流复制,全程跟着敲 |
| 《PostgreSQL高可用实战》 | 2月第14周 | Patroni/etcd 搭建照书实操 |
| 《数据库生产实战》 | 2-5月碎片时间 | 每个案例提炼成"现象→定位→处置"三句话,喂给面试题库 |
用书三原则:同一时段只开一本主力教材;书里的命令必须自己跑过;读完一章的标准是不看书写得出复盘。
六、社区与外联:一个人学不如有回路地学
只练不说等于闭门造车。外包背景的人最缺的不是技能,是可信度和内部推荐人——一个甲方DBA的内推,胜过100份投递。但社区活跃是放大器,不是主线:每周不超过10小时的20%,且必须"带着产出参与"。
6.1 每天10分钟:问题日志
睡前三条字,固定格式,记进 issues-log.md(放GitHub):
日期 | 现象 | 我查了什么 | 结论/待办
10-30 | 从库延迟涨到300s | 看binlog大小、show processlist | 大事务,update拆批三个用途:周素材(一周7条里至少1条能扩写成博客或一次社区问答)、面试弹药(“你遇到过什么难排查的问题"张口就有20个案例)、复盘证据(半年后翻这本,不靠感觉判断自己有没有长进)。
6.2 渠道分层(按投入产出排序)
| 层级 | 渠道 | 怎么用 | 每周 |
|---|---|---|---|
| 优先 | Stack Overflow(mysql/replication/innoDB标签) | 答能答的,攒声望;英文问答顺带练面试表达 | 1题 |
| 优先 | AskTUG、openGauss/GaussDB社区、PG中文社区 | 第4个月学PG的主阵地,问题有人认真回 | 1题 |
| 高价值 | MySQL/PG/DBA 技术群、艾克森开源社区 | 答得出就答,答不出跟着看别人的排查思路 | 每天扫一眼,每周发言3次 |
| 长尾 | 掘金/CSDN/知乎 + 本站 | 在同类文章下留有信息量的评论(补一个坑、指出版本差异),比加好友有效10倍 | 评论3篇 |
| 慎入 | 灌水群、卖课群、“求带"群 | 只消耗时间 | 不进 |
6.3 每周固定动作
- 周一:把上周问题日志最有价值的一条,整理成社区提问或回答(20分钟)
- 周三:2篇同类技术博客下留实质性评论(各10分钟,要具体到命令/版本/参数,禁止"学习了”)
- 周五:群里参与一次讨论,或帮人解决一个小问题(10分钟)
- 周日:复盘记一句"本周认识了谁/帮了谁/被谁帮了”
6.4 人脉的正确姿势
- 先给价值,再谈连接。 不要上来就"大佬求带"“求内推”。先连续答对几个问题、博客被转载一次,别人自然记住你的ID。
- 请教要具体。 “DBA怎么入门"没人回;“生产MySQL 5.7主从延迟偶发60s,binlog是row格式,除大事务还有哪些可能”——这种问题会有人认真回,而且回你的人正是你要认识的人。
- 把弱关系变成可内推关系。 半年目标:认识10个同行(有实质交流),其中2-3个是甲方或云厂商在职DBA。第5-6月投递时,这就是内推通道。
6.5 半年验收与人情边界
| 指标 | 目标 |
|---|---|
| 问题日志 | ≥150条 |
| 社区回答 | ≥50条 |
| 博客有效评论 | ≥60条 |
| 有实质交流的同行 | ≥10人,其中甲方/云厂商在职≥2人 |
边界:社区时间超过每周2小时就砍任务量,不允许两头做满;只在"有问题要问/有答案要给"时打开社区,禁止无目的刷信息流(和刷短视频是同一机制);看到别人晒高薪允许羡慕5分钟,然后关掉——参照系是上周的自己。
七、三条纪律
- 时间:每周10-12小时雷打不动;连续两周未达标就砍任务范围,不砍节奏。
- 财务:主动仓位清仓改指数定投;存款50万前拒绝一切"生意机会”;每月记账,月储蓄≥收入25%。
- 健康:每周2次运动,学习不晚于23:30结束——DBA要半夜救火,身体是本钱。
八、什么情况下需要重审这份计划
- 裁员波及自身 → 保收入优先,立即激活 B/C 档投递
- 存款跌破10万 → 冻结非必要支出,暂停定投
- 连续两个月未达月度目标 → 砍掉 PG 支线,聚焦 MySQL + Redis
- 公司内确认零数据库机会 → 全部押注实验环境 + 作品集
半年后要能回答的不是"我学了什么",而是"给我一台出问题的库,我多久能救回来"。这份计划的全部意义就在这一句。