物理备份怎么恢复
恢复物理备份就是把准备完成的文件拷回数据目录,工具给了两种方式:拷贝方式会保留备份目录,可以重复使用;移动方式直接搬移文件,省空间但备份目录被清空。恢复前有三个硬前提——实例必须停机、数据目录必须为空、目录属主必须是服务账号,任何一条不满足都会失败。
基本信息
| 拷贝方式 | 保留备份目录,文件被复制 |
|---|---|
| 移动方式 | 直接移动文件,备份目录被清空 |
| 前置条件 | 实例停机、数据目录清空、属主正确 |
| 顺序 | 先准备再拷回,顺序不能颠倒 |
| 验证 | 启动后检查实例状态并抽样核对数据 |
| 回退 | 原数据目录改名保留,便于失败回退 |
典型使用场景
- 整实例恢复:磁盘损坏或数据被误删后的兜底手段
- 从库重建:在从库上用物理备份快速拉起
- 机房或机型迁移:整实例物理搬迁
- 恢复演练:验证备份可用性与实际耗时
- 同版本紧急回滚
恢复步骤
恢复步骤
systemctl stop mysqld # 第一步:停实例
mv /var/lib/mysql /var/lib/mysql.bak # 原目录改名保留,出问题可回退
mkdir -p /var/lib/mysql # 目标目录必须为空
xtrabackup --copy-back --target-dir=/data/backup/base --datadir=/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql # 属主必须改回服务账号
systemctl start mysqld两种方式对照
| 方式 | 行为 | 适用场景 |
|---|---|---|
| 拷贝方式 | 保留备份目录,文件被复制 | 需要重复使用同一份备份 |
| 移动方式 | 直接移动文件,备份目录清空 | 空间紧张或一次性的恢复 |
| 准备步骤 | 恢复前必须完成 | 未准备的产物无法恢复 |
| 数据目录 | 必须为空 | 非空时工具会拒绝执行 |
| 目录属主 | 必须为服务账号 | 属主错误会导致启动失败 |
| 回退方案 | 原目录改名保留 | 恢复失败时能退回原状态 |
恢复前把原数据目录改名保留:一旦恢复结果不符合预期还能退回原状态,直接删除就没有第二次机会了。
数据目录非空时拷回会被拒绝,目录属主未改回服务账号会导致实例启动失败,这两点几乎是最常见的恢复失败原因。
恢复检查清单
- 确认备份已完成准备步骤
- 确认实例已停止且没有残留进程
- 确认数据目录已清空并预留足够空间
- 恢复后检查目录属主与权限
- 启动后抽样核对数据并确认错误日志无异常
物理恢复的时间主要花在文件拷贝与日志准备上:数据量越大越明显,恢复窗口要按实际演练耗时预留,而不是按备份耗时估算。