数据库备份恢复策略怎么定?

运维/DBA第 8 / 13 题答题框架
参考思路:分层(全量+增量/binlog)→频率与 RPO 对齐→异地与加密→定期恢复演练(备份不演练等于没备份)→自动化与告警。

五个经典回答示范

回答一 · 校招应届版

我的备份策略:分层——每日全量或增量加 binlog 连续归档,达到任意时点恢复能力(PITR);频率与 RPO 对齐——核心库 RPO 分钟级用 binlog 加半同步;存储——本机保留短期、异地保留长期、加密存放;最重要的是演练——每月做恢复演练,备份不演练等于没备份。验证——每份备份恢复到临时实例跑校验查询。

回答二 · 1-3年经验版

我讲一次恢复实战:开发误 truncate 了生产订单表。流程:立即停止该表写入保护 binlog;从最近全量恢复影子实例;binlog 重放到误操作前一秒;反向导出该表数据回灌生产,全程 40 分钟。之后推动的改进:权限收敛(DDL 双人审批)、延迟从库(延迟 1 小时的备库专防误操作)、恢复 SOP 文档化加演练。误操作恢复的关键是 binlog 完整性——这是平时备份策略决定的。

回答三 · 资深版

资深视角:备份恢复体系按业务连续性设计。指标先行——RPO(能丢多少数据)与 RTO(多久恢复)由业务定,不同库分级不同投入;技术组合——物理备份(xtrabackup 快)加逻辑备份(mysqldump 可读可迁移)加 binlog 流水,快照作为补充;治理——备份成功率监控与告警(失败必须当天处理)、容量增长趋势、恢复演练制度化(演练发现问题才算有效);边界认知——备份防误删与故障,容灾防机房级事件,两回事。

回答四 · 追问应对

追问『全量还是增量』:数据量小直接每日全量简单可靠;TB 级用周日全量加每日增量加 binlog;『恢复演练怎么做』:自动化脚本随机挑备份恢复到临时实例、跑数据校验(行数与关键表 checksum)、记录恢复时长对照 RTO;『云上数据库还要备份吗』:要——云厂商防 infra 故障,误操作与逻辑损坏要靠自己备份,跨区域独立保存。

回答五 · 反面示范

『数据库有主从了不用备份,从库就是备份,每天 mysqldump 脚本挂着就行成功失败没细看,恢复没试过不过应该不难。』——点评:主从防硬件故障不防误操作——drop 命令照样同步到从库;备份失败没人看是常态事故源;『应该不难』的恢复在真实故障里每个环节都可能卡死。

怎么练这道题
  1. 打开 模拟练习,选择「运维/DBA」方向,限时 3 分钟作答本题。
  2. 对照上方答题框架,逐点检查:哪些要素没覆盖、哪里表达啰嗦。
  3. 用自己项目的真实经历替换框架中的占位内容,重讲一遍并录音回听。

这类题在真实面试中常被追问细节,
建议进入限时模式练一遍。

开始限时演练