RESTORE ACCOUNT

Syntax Description

RESTORE ACCOUNT restores the instance/database/table to the state corresponding to a time stamp based on the snapshot created under the current instance.

Syntax Structure

> RESTORE ACCOUNT account_name [DATABASE database_name [TABLE table_name]] FROM SNAPSHOT snapshot_name [TO ACCOUNT account_name];

Example

  • Example 1: Recovering the instance

--Execute under instance 01907cb0-9b99-7714-8f1b-4b55c5eaxxxx
CREATE database db1;
CREATE database db2;

mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| db1 |
| db2 |
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
7 rows in set (0.12 sec)

create snapshot snap1 for account `01907cb0-9b99-7714-8f1b-4b55c5eaxxxx`; --Create snapshot
mysql> show snapshots;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SNAPSHOT_NAME | TIMESTAMP | SNAPSHOT_LEVEL | ACCOUNT_NAME | DATABASE_NAME | TABLE_NAME |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| snap1 | 2024-07-09 07:12:55.869132523 | account | 01907cb0-9b99-7714-8f1b-4b55c5eaxxxx | | |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.12 sec)

drop database db1;--Delete database db1,db2
drop database db2;

mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
5 rows in set (0.15 sec)

restore account `01907cb0-9b99-7714-8f1b-4b55c5eaxxxx` FROM snapshot snap1;--Restore instance-level snapshot

mysql> show databases;--Recovery successfully
+-------------------------+
| Database |
+-------------------------+
| db1 |
| db2 |
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
7 rows in set (0.01 sec)
  • Example 2: Recovering the database

--Execute under instance 01907cb0-9b99-7714-8f1b-4b55c5eaxxxx
CREATE database db1;

mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| db1 |
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
7 rows in set (0.00 sec)

create snapshot db_snap1 for account `01907cb0-9b99-7714-8f1b-4b55c5eaxxxx`;--Create snapshot
drop database db1;--Delete database db1

mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
6 rows in set (0.01 sec)

restore account `01907cb0-9b99-7714-8f1b-4b55c5eaxxxx` database db1 FROM snapshot db_snap1;--Recover database-level snapshot

mysql> show databases;--Recovery successfully
+-------------------------+
| Database |
+-------------------------+
| db1 |
| information_schema |
| mo_catalog |
| mysql |
| system |
| system_metrics |
+-------------------------+
7 rows in set (0.00 sec)
  • Example 3: Recover table

--Execute under instance 01907cb0-9b99-7714-8f1b-4b55c5eaxxxx
use db1;
CREATE TABLE t1(n1 int);
INSERT INTO t1 values(1);

mysql> SELECT * FROM t1;
+------+
| n1 |
+------+
| 1 |
+------+
1 row in set (0.00 sec)

create snapshot acc1_tab_snap1 for account acc1;--Create a snapshot
truncate TABLE t1;--Clear t1

mysql> SELECT * FROM t1;
Empty set (0.01 sec)

restore account ac1 database db1 TABLE t1 FROM snapshot acc1_tab_snap1;--Restore snapshot

mysql> SELECT * FROM t1;--Recovered successfully
+------+
| n1 |
+------+
| 1 |
+------+
1 row in set (0.00 sec)

limit

  • Currently, only instance/database/table recovery is supported, and clusters are not supported yet.