|
2 | 2 |
|
3 | 3 | ## 语法说明 |
4 | 4 |
|
5 | | -`RESTORE ... FROM SNAPSHOT` 用于从之前创建的集群/租户/数据库/表级别的快照中进行集群/租户/数据库/表级别的恢复数据。 |
| 5 | +`RESTORE ... SNAPSHOT` 用于从之前创建的集群/租户/数据库/表级别的快照中进行集群/租户/数据库/表级别的恢复数据。 |
6 | 6 |
|
7 | 7 | ## 语法结构 |
8 | 8 |
|
| 9 | +```sql |
| 10 | +RESTORE CLUSTER {SNAPSHOT = <snapshot_name>}; |
| 11 | + |
| 12 | +RESTORE ACCOUNT <account_name> {SNAPSHOT = <snapshot_name>} [TO ACCOUNT <target_account_name>]; |
| 13 | + |
| 14 | +RESTORE DATABASE [<account_name>.]<database_name> {SNAPSHOT = <snapshot_name>} [TO ACCOUNT <target_account_name>]; |
| 15 | + |
| 16 | +RESTORE TABLE [<account_name>.]<database_name>.<table_name> {SNAPSHOT = <snapshot_name>} [TO ACCOUNT <target_account_name>]; |
9 | 17 | ``` |
10 | | -> RESTORE [CLUSTER]|[[ACCOUNT <account_name>] [DATABASE database_name [TABLE table_name]]]FROM SNAPSHOT <snapshot_name> [TO ACCOUNT <account_name>]; |
11 | | -``` |
| 18 | + |
| 19 | +- `RESTORE DATABASE` 与 `RESTORE TABLE` 在省略 `<account_name>.` 时默认作用于当前租户,如需恢复其他租户对象请使用带租户前缀的点分格式。 |
| 20 | +- 快照子句同样支持兼容写法 `FROM SNAPSHOT <snapshot_name>` 或 `{SNAPSHOT = "<snapshot_name>"}`。 |
12 | 21 |
|
13 | 22 | ## 示例 |
14 | 23 |
|
@@ -50,7 +59,7 @@ mysql> show databases; |
50 | 59 | 6 rows in set (0.01 sec) |
51 | 60 |
|
52 | 61 | --在系统租户 sys 下执行 |
53 | | -restore cluster FROM snapshot cluster_sp1;--在系统租户下对集群进行快照恢复 |
| 62 | +restore cluster{snapshot="cluster_sp1"};--在系统租户下对集群进行快照恢复 |
54 | 63 |
|
55 | 64 | --在租户 acc1,acc2 下执行 |
56 | 65 | mysql> show databases;--恢复成功 |
@@ -104,7 +113,7 @@ mysql> show databases; |
104 | 113 | +--------------------+ |
105 | 114 | 5 rows in set (0.01 sec) |
106 | 115 |
|
107 | | -restore account acc1 FROM snapshot acc1_snap1;--恢复租户级别快照 |
| 116 | +restore account acc1 {snapshot = acc1_snap1};--恢复租户级别快照 |
108 | 117 |
|
109 | 118 | mysql> show databases;--恢复成功 |
110 | 119 | +--------------------+ |
@@ -155,7 +164,8 @@ mysql> show databases; |
155 | 164 | +--------------------+ |
156 | 165 | 6 rows in set (0.01 sec) |
157 | 166 |
|
158 | | -restore account acc1 database db1 FROM snapshot acc1_db_snap1;--恢复数据库级别快照 |
| 167 | +--在系统租户 sys 下执行 |
| 168 | +restore database acc1.db1 {snapshot = acc1_db_snap1};--恢复数据库级别快照 |
159 | 169 |
|
160 | 170 | mysql> show databases;--恢复成功 |
161 | 171 | +--------------------+ |
@@ -192,7 +202,8 @@ truncate TABLE t1;--清空 t1 |
192 | 202 | mysql> SELECT * FROM t1; |
193 | 203 | Empty set (0.01 sec) |
194 | 204 |
|
195 | | -restore account acc1 database db1 TABLE t1 FROM snapshot acc1_tab_snap1;--恢复快照 |
| 205 | +--在系统租户 sys 下执行 |
| 206 | +restore TABLE acc1.db1.t1 {snapshot = acc1_tab_snap1};--恢复快照 |
196 | 207 |
|
197 | 208 | mysql> SELECT * FROM t1;--恢复成功 |
198 | 209 | +------+ |
@@ -241,7 +252,7 @@ mysql> show databases; |
241 | 252 | 6 rows in set (0.01 sec) |
242 | 253 |
|
243 | 254 | --在系统租户 sys 下执行 |
244 | | -restore account acc1 FROM snapshot acc1_snap1 TO account acc1;--在系统租户下对 acc1 进行快照恢复 |
| 255 | +restore account acc1 {snapshot = acc1_snap1} TO account acc1;--在系统租户下对 acc1 进行快照恢复 |
245 | 256 |
|
246 | 257 | --在租户 acc1 下执行 |
247 | 258 | mysql> show databases;--恢复成功 |
@@ -297,7 +308,7 @@ mysql> show databases; |
297 | 308 |
|
298 | 309 | --在系统租户 sys 下执行 |
299 | 310 | create account acc2 ADMIN_NAME admin IDENTIFIED BY '111';--需要提前创建要目标新租户 |
300 | | -restore account acc1 FROM snapshot acc1_snap1 TO account acc2;--在系统租户下对 acc1 进行快照恢复,恢复至 acc2 |
| 311 | +restore account acc1 {snapshot = acc1_snap1} TO account acc2;--在系统租户下对 acc1 进行快照恢复,恢复至 acc2 |
301 | 312 |
|
302 | 313 | --在租户 acc1 下执行 |
303 | 314 | mysql> show databases; |
|
0 commit comments