恢复
前提条件
- 确保您拥有管理员权限以执行恢复操作。
- 确保您有一个有效的备份快照可供恢复,请参考备份。
1. 获取快照的备份时间戳
以下SQL语句可用于查看名为example_repo
的 Repository 中的现有备份。
mysql> SHOW SNAPSHOT ON example_repo;
+-----------------+---------------------+--------+
| Snapshot | Timestamp | Status |
+-----------------+---------------------+--------+
| exampledb_20241225 | 2022-04-08-15-52-29 | OK |
+-----------------+---------------------+--------+
1 row in set (0.15 sec)
2. 从快照恢复
Option 1:恢复快照到当前数据库
以下SQL语句从名为example_repo
的 Repository 中恢复标签为 restore_label1
和时间戳为 2022-04-08-15-52-29
的快照到当前数据库。
RESTORE SNAPSHOT `restore_label1`
FROM `example_repo`
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-52-29"
);
Option 2:恢复快照到指定数据库
以下SQL语句从名为example_repo
的 Repository 中恢复标签为 restore_label1
和时间戳为 2022-04-08-15-52-29
的快照到名为 destdb
的数据库。
RESTORE SNAPSHOT destdb.`restore_label1`
FROM `example_repo`
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-52-29"
);
Option 3:从快照恢复单个表
从example_repo
中的快照恢复表backup_tbl
到当前数据库,快照的标签为 restore_label1
,时间戳为 2022-04-08-15-52-29
。
RESTORE SNAPSHOT `restore_label1`
FROM `example_repo`
ON ( `backup_tbl` )
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-52-29"
);
Option 4:从快照恢复分区和表
从example_repo
中的备份快照snapshot_2
恢复表backup_tbl
的分区p1和p2,以及表backup_tbl2
到当前数据库example_db1
,并将其重命名为new_tbl
,快照标签为时间版本为"2018-05-04-17-11-01"
。
RESTORE SNAPSHOT `restore_label1`
FROM `example_repo`
ON
(
`backup_tbl` PARTITION (`p1`, `p2`),
`backup_tbl2` AS `new_tbl`
)
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-55-43"
);
3. 查看恢复作业的执行情况
```sql
mysql> SHOW RESTORE\G; *************************** 1. row *************************** JobId: 17891851 Label: snapshot_label1 Timestamp: 2022-04-08-15-52-29 DbName: default_cluster:example_db1 State: FINISHED AllowLoad: false ReplicationNum: 3 RestoreObjs: { "name": "snapshot_label1", "database": "example_db", "backup_time": 1649404349050, "content": "ALL", "olap_table_list": [ { "name": "backup_tbl", "partition_names": [ "p1", "p2" ] } ], "view_list": [], "odbc_table_list": [], "odbc_resource_list": [] } CreateTime: 2022-04-08 15:59:01 MetaPreparedTime: 2022-04-08 15:59:02 SnapshotFinishedTime: 2022-04-08 15:59:05 DownloadFinishedTime: 2022-04-08 15:59:12 FinishedTime: 2022-04-08 15:59:18 UnfinishedTasks: Progress: TaskErrMsg: Status: [OK] Timeout: 86400 1 row in set (0.01 sec)