基于位置点的恢复
恢复流程概述
指定位置点的恢复主要包含两步:
- 恢复全量备份。
- 应用全量备份之后的 binlog 到指定时间点。
测试环境准备
创建测试数据库和表:
createdatabasesbtest;createtablesbtest.t1(idintauto_incrementprimarykey,insert_timedatetime(6));插入测试数据:
# cat 1.sh#!/bin/bashi=1whiletrue;domysql -e"insert into sbtest.t1 (insert_time) values (now(6));"echo$i((i++))done# sh 1.sh案例:基于xtrabackup备份 + binlog 进⾏指定时间点的恢复。
恢复案例步骤
1. 全量备份
在 DROP 操作之前进行备份:
# xtrabackup --user=backup_user --password=backup_pass --backup --parallel=10 --target-dir=/data/backup/202401202. 模拟故障
⼿动 DROP sbtest.t1 表。在 DROP 之前,我们看看该表的记录数及最新⼀条记录。
mysql>selectcount(*)fromsbtest.t1;+----------+|count(*)|