Skip to content

Commit 8e2e60a

Browse files
Merge pull request #1225 from gouhongshen/update_restore_with_snapshot
CN: update SQL grammar for restore with snapshot.
2 parents 46be17e + 3e01ce3 commit 8e2e60a

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/restore-snapshot.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22

33
## 语法说明
44

5-
`RESTORE ... FROM SNAPSHOT` 用于从之前创建的集群/租户/数据库/表级别的快照中进行集群/租户/数据库/表级别的恢复数据。
5+
`RESTORE ... SNAPSHOT` 用于从之前创建的集群/租户/数据库/表级别的快照中进行集群/租户/数据库/表级别的恢复数据。
66

77
## 语法结构
88

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>];
917
```
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>"}`
1221

1322
## 示例
1423

@@ -50,7 +59,7 @@ mysql> show databases;
5059
6 rows in set (0.01 sec)
5160

5261
--在系统租户 sys 下执行
53-
restore cluster FROM snapshot cluster_sp1;--在系统租户下对集群进行快照恢复
62+
restore cluster{snapshot="cluster_sp1"};--在系统租户下对集群进行快照恢复
5463

5564
--在租户 acc1,acc2 下执行
5665
mysql> show databases;--恢复成功
@@ -104,7 +113,7 @@ mysql> show databases;
104113
+--------------------+
105114
5 rows in set (0.01 sec)
106115

107-
restore account acc1 FROM snapshot acc1_snap1;--恢复租户级别快照
116+
restore account acc1 {snapshot = acc1_snap1};--恢复租户级别快照
108117

109118
mysql> show databases;--恢复成功
110119
+--------------------+
@@ -155,7 +164,8 @@ mysql> show databases;
155164
+--------------------+
156165
6 rows in set (0.01 sec)
157166

158-
restore account acc1 database db1 FROM snapshot acc1_db_snap1;--恢复数据库级别快照
167+
--在系统租户 sys 下执行
168+
restore database acc1.db1 {snapshot = acc1_db_snap1};--恢复数据库级别快照
159169

160170
mysql> show databases;--恢复成功
161171
+--------------------+
@@ -192,7 +202,8 @@ truncate TABLE t1;--清空 t1
192202
mysql> SELECT * FROM t1;
193203
Empty set (0.01 sec)
194204

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};--恢复快照
196207

197208
mysql> SELECT * FROM t1;--恢复成功
198209
+------+
@@ -241,7 +252,7 @@ mysql> show databases;
241252
6 rows in set (0.01 sec)
242253

243254
--在系统租户 sys 下执行
244-
restore account acc1 FROM snapshot acc1_snap1 TO account acc1;--在系统租户下对 acc1 进行快照恢复
255+
restore account acc1 {snapshot = acc1_snap1} TO account acc1;--在系统租户下对 acc1 进行快照恢复
245256

246257
--在租户 acc1 下执行
247258
mysql> show databases;--恢复成功
@@ -297,7 +308,7 @@ mysql> show databases;
297308

298309
--在系统租户 sys 下执行
299310
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
301312

302313
--在租户 acc1 下执行
303314
mysql> show databases;

0 commit comments

Comments
 (0)