前提條件?
- 確保您擁有管理員權限以執行恢復操作。
- 確保您有一個有效的備份快照可供恢復,請參考備份。
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: 17891851Label: snapshot_label1Timestamp: 2022-04-08-15-52-29DbName: default_cluster:example_db1State: FINISHEDAllowLoad: falseReplicationNum: 3RestoreObjs: {"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:01MetaPreparedTime: 2022-04-08 15:59:02
SnapshotFinishedTime: 2022-04-08 15:59:05
DownloadFinishedTime: 2022-04-08 15:59:12FinishedTime: 2022-04-08 15:59:18UnfinishedTasks:Progress:TaskErrMsg:Status: [OK]Timeout: 86400
1 row in set (0.01 sec)
```