适用场景
数据库备份的关键不是"备份成功",而是"能恢复"。很多单位备份任务天天成功,真出事时发现备份文件损坏或恢复不上。
配置步骤(恢复演练与验证)
# 演练步骤(每个库都要做)
# 1) 建临时实例(隔离环境,勿连生产)
# 2) 恢复最近全量 + 增量
# 3) 校验关键表行数与最新数据时间
# 4) 记录恢复耗时与数据丢失窗口
# 5) 输出演练报告并归档
关键参数与建议
- 逻辑备份用于小库与迁移,物理备份(xtrabackup/存储快照)用于大库与快速恢复
- 每周至少一次全量 + 每日增量,备份文件异地保存一份
- 每月做一次恢复演练,记录恢复耗时(RTO)与数据丢失窗口(RPO)
- 数据库账号按应用分配,最小权限;禁止应用使用 root/sa
- 开启慢查询与审计日志,保留周期按合规要求
容易踩的坑
- 演练在生产库上做,造成二次事故
- 只验证能恢复,不验证数据是否最新(丢了半天数据也算恢复成功)
- 演练记录不归档,检查时无法证明做过
验证与巡检
# 校验示例
mysql -e \「select count(*), max(created_at) from 业务库.订单表\」
- 巡检:演练记录齐全、RTO/RPO 达标、结论有改进项并闭环
小结
把"备份 + 恢复演练"写进运维清单:备份任务失败告警、恢复演练每季度一次、演练记录归档。这比任何优化都重要。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。