復元
前提条件
- リストア操作を実行するためのadministrator権限があることを確認してください。
- バックアップを格納する既存のRepositoryがあることを確認してください。ない場合は、Repositoryを作成し、backupを実行する手順に従ってください。
- リストア用の有効なbackupスナップショットが利用可能であることを確認してください。
1. スナップショットのBackup Timestampを取得する
以下の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. スナップショットからの復元
オプション 1: 現在のデータベースにスナップショットを復元
以下のSQL文は、example_repoという名前のRepositoryから、タイムスタンプ2022-04-08-15-52-29を持つrestore_label1というラベルのスナップショットを現在のデータベースに復元します。
RESTORE SNAPSHOT `restore_label1`
FROM `example_repo`
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-52-29"
);
オプション 2: 指定されたデータベースへのスナップショット復元
以下のSQL文は、example_repoという名前のRepositoryから、タイムスタンプ2022-04-08-15-52-29を持つrestore_label1というラベルのスナップショットを、destdbという名前のデータベースに復元します。
RESTORE SNAPSHOT destdb.`restore_label1`
FROM `example_repo`
PROPERTIES
(
"backup_timestamp"="2022-04-08-15-52-29"
);
オプション 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"
);
オプション 4: スナップショットからパーティションとテーブルを復元
バックアップスナップショット snapshot_2 からスナップショットタイムスタンプ "2018-05-04-17-11-01" を使用して、テーブル backup_tbl のパーティション p1 と p2、およびテーブル backup_tbl2 を現在のデータベース example_db1 に復元し、new_tbl にリネームします。
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. リストアジョブの実行状況を確認する
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)