Skip to content

mo_br backup and recovery

Database physical backup and snapshot backup are two important data protection strategies, and they play an important role in many scenarios. Physical backup can achieve fast and complete database recovery by copying the physical files of the database, such as data files and log files, and is especially suitable for overall database migration or disaster recovery. On the other hand, snapshot backup provides a fast and storage-efficient backup method by recording the status of data at a specific point in time. It is suitable for scenarios that require point-in-time recovery or read-only query operations, such as generating reports or performing data processing. analyze. The recovery of physical backups may take a long time, while snapshot backups can provide fast data access. The combination of the two can provide comprehensive protection for the database and ensure data security and business continuity.

MatrixOne supports regular physical backups and snapshot backups via the mo_br utility. This chapter will introduce how to use mo_br.

Note

mo_br is a physical backup and recovery tool for enterprise-level services. You need to contact your MatrixOne account manager to obtain the tool download path.

Reference command guide

help -print reference guide

./mo_br help
the backup and restore tool for the matrixone

Usage:
  mo_br [flags]
  mo_br [command]

Available Commands:
  backup      backup the matrixone data
  check       check the backup
  completion  Generate the autocompletion script for the specified shell
  delete      delete the backup
  help        Help about any command
  list        search the backup
  restore     restore the matrixone data
  snapshot    Manage snapshots

Flags:
      --config string      config file (default "./mo_br.toml")
  -h, --help               help for mo_br
      --log_file string    log file (default "console")
      --log_level string   log level (default "error")

Use "mo_br [command] --help" for more information about a command.

Physical backup

Create a backup

Grammar structure

mo_br backup
    --host
    --port 
    --user 
    --password 
    --backup_dir s3|filesystem 
        //s3 oss minio
            --endpoint
            --access_key_id 
            --secret_access_key 
            --bucket 
            --filepath
            --region 
            --compression 
            --role_arn 
            --is_minio
            --parallelism 
        //filesystem
            --path
            --parallelism
    --meta_path 
    //incremental backup and restore needed
    --backup_type
    --base_id

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
backup_dir Backup destination path type. s3 or filesystem
endpoint The URL to connect to the service that backs up to s3
access_key_id Access key ID backed up to s3
secret_access_key Secret access key backed up to s3
bucket The bucket that s3 needs to access when backed up
filepath Relative file path for backup to s3
region Object storage service region backed up to s3
compression Compression format of files backed up to s3.
role_arn Resource name of the role backed up to s3.
is_minio specifies whether the s3 backed up to is minio
path Local file system backup path
parallelism Parallelism
meta_path Specifies the meta file location. Can only be a path in the file system. If not specified, the default is the mo_br.meta file in the same directory.
backup_type Specifies the backup type as incremental backup, incremental.
base_id The ID of the last backup, mainly used to determine the timestamp of the last backup.

Example

  • Full backup to local file system
./mo_br backup --host "127.0.0.1" --port 6001 --user "root" --password "111" --backup_dir "filesystem"  --path "yourpath"
  • Full backup to minio
./mo_br backup --host "127.0.0.1" --port 6001 --user "root" --password "111" --backup_dir "s3"  --endpoint "http://127.0.0.1:9000" --access_key_id "S0kwLuB4JofVEIAxWTqf" --secret_access_key "X24O7t3hccmqUZqvqvmLN8464E2Nbr0DWOu9Qs5A" --bucket "bucket1" --filepath "/backup1" --is_minio
  • Incremental backup to local file system
./mo_br backup --host "127.0.0.1" --port 6001 --user "root" --password "111" --backup_dir "filesystem"  --path "yourpath" --backup_type "incremental" --base_id "xxx"

View backup

Grammar structure

mo_br list
    --ID
    //To query backup data. If the backup is on s3 (oss minio), you need to specify
      --access_key_id
      --secret_access_key
    --not_check_data
    --meta_path

Parameter description

Parameters Description
ID Backup ID
access_key_id Access key ID of s3 backed up
secret_access_key Secret access key of s3 backed up
not_check_data Only check the information in meta. Do not view backup data. By default, without this parameter, the backed up files will be checked. Currently only the backed up files are checked for existence.
meta_path Specifies the meta file location. If not specified, the default is the mo_br.meta file in the same directory.

Example

  • View a list of all backups
./mo_br list
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+
|                  ID                  |  SIZE  |              PATH              |          AT TIME          |   DURATION   |       COMPLETE TIME       |
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+
| 4d21b228-10dd-11ef-9497-26dd28356ef2 | 586 kB |  BackupDir: filesystem  Path:  | 2024-05-13 12:00:12 +0800 | 1.700945333s | 2024-05-13 12:00:13 +0800 |
|                                      |        |    /Users/admin/soft/backup    |                           |              |                           |
| 01108122-10f9-11ef-9359-26dd28356ef2 | 8.3 MB |  BackupDir: filesystem  Path:  | 2024-05-13 15:18:28 +0800 | 3.394437375s | 2024-05-13 15:18:32 +0800 |
|                                      |        |    /Users/admin/soft/backup    |                           |              |                           |
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+
  • View the backup list of the specified ID. When the ID is determined by list, the backed up file will be detected.
./mo_br list 4d21b228-10dd-11ef-9497-26dd28356ef2
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+
|                  ID                  |  SIZE  |              PATH              |          AT TIME          |   DURATION   |       COMPLETE TIME       |
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+
| 4d21b228-10dd-11ef-9497-26dd28356ef2 | 586 kB |  BackupDir: filesystem  Path:  | 2024-05-13 12:00:12 +0800 | 1.700945333s | 2024-05-13 12:00:13 +0800 |
|                                      |        |    /Users/admin/soft/backup    |                           |              |                           |
+--------------------------------------+--------+--------------------------------+---------------------------+--------------+---------------------------+

Checking the backup data(currently,no checksum)...

check: /backup_meta
check: /mo_meta
check: hakeeper/hk_data
check: tae/tae_list
check: tae/tae_sum
check: config/log.toml_018f70d1-3100-7762-b28b-8f85ac4ed3cd
check: config/tn.toml_018f70d1-310e-78fc-ac96-aa5e06981bd7
...

Delete backup

Grammar structure

mo_br delete ID
    //To delete the backup data. If the backup is on s3 (oss minio), you need to specify
      --access_key_id
      --secret_access_key
    --not_delete_data
    --meta_path

Parameter description

Parameters Description
ID ID of the backup to be deleted
access_key_id Access key ID of s3 backed up
secret_access_key Secret access key of s3 backed up
not_delete_data Only delete the information in meta. Backup data is not deleted.
meta_path Specifies the meta file location. If not specified, the default is the mo_br.meta file in the same directory.

Example

  • Delete local file system backup
./mo_br delete e4cade26-3139-11ee-8631-acde48001122
  • Delete a backup on the minio.
./mo_br delete e4cade26-3139-11ee-8631-acde48001122 --access_key_id "S0kwLuB4JofVEIAxWTqf" --secret_access_key "X24O7t3hccmqUZqvqvmLN8464E2Nbr0DWOu9Qs5A"

Restore backup

Grammar structure

  • Restore backup of specified ID
mo_br restore ID
    //Read the backup data of the specified ID. If the backup is on s3 (oss minio), you need to specify
    --backup_access_key_id
    --backup_secret_access_key

    //Restore target path restore_directory
    --restore_dir s3|filesystem
        //s3
            --restore_endpoint
            --restore_access_key_id
            --restore_secret_access_key
            --restore_bucket
            --restore_filepath
            --restore_region
            --restore_compression
            --restore_role_arn
            --restore_is_minio
        //filesystem
            --restore_path
            --dn_config_path
    --meta_path
    --checksum
    --parallelism

Parameter description

Parameters Description
ID ID to restore
backup_access_key_id Access key ID backed up in s3
backup_secret_access_key Backup Secret access key in s3
restore_dir Restore target path type. Used when specifying the destination path for recovery. s3
restore_endpoint URL to connect to restore to S3 service
restore_access_key_id Restore Access key ID to s3
restore_secret_access_key Restore Secret access key to s3
restore_bucket The bucket that needs to be accessed to restore to s3
restore_filepath Restore relative file path to s3
restore_region Object storage service region restored to s3
restore_compression Restore the compression format of S3 files to s3.
restore_role_arn The resource name of the role restored to s3.
restore_is_minio Specifies whether the restored s3 is minio
restore_path Restore to local path
dn_config_path dn configuration path
meta_path Specifies the meta file location. Can only be a path in the file system. If not specified, the default is the mo_br.meta file in the same directory.
checksum The parallelism of tae file copy during recovery, the default is 1
parallelism Parallelism
  • Do not specify a restore backup ID
//recover.
mo_br restore
    --backup_dir s3|filesystem The destination path type for the backup. Used when specifying the destination path for backup.
        //s3 
            --backup_endpoint 
            --backup_access_key_id 
            --backup_secret_access_key
            --backup_bucket
            --backup_filepath
            --backup_region 
            --backup_compression 
            --backup_role_arn 
            --backup_is_minio
        //filesystem
            --backup_path 
    //Recovery target path, restore_directory
    --restore_dir s3|filesystem,The target path type for recovery. Used when specifying the destination path for recovery.
        //s3 
            --restore_endpoint 
            --restore_access_key_id 
            --restore_secret_access_key 
            --restore_bucket 
            --restore_filepath
            --restore_region 
            --restore_compression 
            --restore_role_arn 
            --restore_is_minio
        //filesystem
            --restore_path 
            --dn_config_path 
    --meta_path 
    --checksum
    --parallelism

Parameter description

Parameters Description
backup_dir The destination path type for recovery. Used when specifying the destination path for recovery. s3
backup_endpoint URL to connect to backup in s3
backup_access_key_id Access key ID backed up in s3
backup_secret_access_key Secret access key backed up in s3
backup_bucket Bucket backed up in s3
backup_filepath Relative file path of backup in s3
backup_region Service region backed up in s3
backup_compression Compression format for files backed up in s3.
backup_role_arn Resource name of the role backed up in s3.
backup_is_minio specifies whether the backed up s3 is minio
backup_path The path of local backup
restore_dir Restore target path type. Used when specifying the destination path for recovery. s3 or filesystem
restore_endpoint URL to connect to restore to S3 service
restore_access_key_id Restore Access key ID to s3
restore_secret_access_key Restore Secret access key to s3
restore_bucket The bucket that needs to be accessed to restore to s3
restore_filepath Restore relative file path to s3
restore_region Object storage service region restored to s3
restore_compression Restore the compression format of S3 files to s3.
restore_role_arn The resource name of the role restored to s3.
restore_is_minio Specifies whether the restored s3 is minio
restore_path Restore the path to local matrixone
dn_config_path dn configuration path
meta_path Specifies the meta file location. Can only be a path in the file system. If not specified, the default is the mo_br.meta file in the same directory.
checksum The parallelism of tae file copy during recovery, the default is 1
parallelism Parallelism

Example

Restore from file system to file system

Step 1:Stop mo and delete mo-data

Step 2:Execute the following recovery command

./mo_br restore fb26fd88-41bc-11ee-93f8-acde48001122 --restore_dir filesystem --restore_path "your_mopath"

After recovery, a new mo-data file will be generated in matrixone

Step 3:Start mo

Verify backup verification code

Read each file in the backup folder and its sha256 file. Calculate the sha256 value of the file and compare it to the sha256 file value. sha256 files are created when files are created or updated.

Grammar structure

  • Verify backup of an ID
mo_br check ID
    //Verify the backup data of the specified ID. If the backup is on s3 (oss minio), you need to specify
      --backup_access_key_id string
      --backup_secret_access_key string
    --meta_path string 指定meta文件位置.如果不指定,默认是同一目录下的mo_br.meta文件.

Parameter description

Parameters Description
backup_access_key_id Access key ID backed up in s3
backup_secret_access_key Secret access key backed up in s3
meta_path Specifies the meta file location. Can only be a path in the file system. If not specified, the default is the mo_br.meta file in the same directory.
  • Verify backup, specify backup path
mo_br check
    --backup_dir s3|filesystem 
        //s3 
            --backup_endpoint
            --backup_access_key_id
            --backup_secret_access_key 
            --backup_bucket
            --backup_filepath 
            --backup_region 
            --backup_compression
            --backup_role_arn 
            --backup_is_minio
        //filesystem
            --backup_path
    --meta_path 

Parameter description

Parameters Description
backup_dir The path type where the backup is located. It must be specified when the ID is not specified. s3 or filesystem
backup_endpoint URL to connect to backup in s3
backup_access_key_id Access key ID backed up in s3
backup_secret_access_key Secret access key backed up in s3
backup_bucket Bucket backed up in s3
backup_filepath Relative file path of backup in s3
backup_region Service region backed up in s3
backup_compression Compression format for files backed up in s3.
backup_role_arn Resource name of the role backed up in s3.
backup_is_minio specifies whether the backed up s3 is minio
backup_path The path of local backup
meta_path Specifies the meta file location. Can only be a path in the file system. If not specified, the default is the mo_br.meta file in the same directory.

Example

  • Verify backup of an ID
./mo_br check  1614f462-126c-11ef-9af3-26dd28356ef3
+--------------------------------------+--------+-----------------------------------+---------------------------+---------------+---------------------------+
|                  ID                  |  SIZE  |               PATH                |          AT TIME          |   DURATION    |       COMPLETE TIME       |
+--------------------------------------+--------+-----------------------------------+---------------------------+---------------+---------------------------+
| 1614f462-126c-11ef-9af3-26dd28356ef3 | 126 MB |   BackupDir: filesystem  Path:    | 2024-05-15 11:34:28 +0800 | 22.455633916s | 2024-05-15 11:34:50 +0800 |
|                                      |        | /Users/admin/soft/incbackup/back2 |                           |               |                           |
+--------------------------------------+--------+-----------------------------------+---------------------------+---------------+---------------------------+

Checking the backup data...

check: /backup_meta
check: /mo_meta
check: hakeeper/hk_data
check: tae/tae_list
check: tae/tae_sum
check: config/launch.toml_018f7a50-d300-7017-8580-150edf08733e
...
  • Verify backups in a backup directory
(base) admin@admindeMacBook-Pro mo-backup % ./mo_br check --backup_dir filesystem --backup_path /Users/admin/soft/incbackup/back2
2024/05/15 11:40:30.011160 +0800 INFO malloc/malloc.go:42 malloc {"max buffer size": 1073741824, "num shards": 16, "classes": 23, "min class size": 128, "max class size": 1048576, "buffer objects per class": 23}
check: /backup_meta
check: /mo_meta
check: hakeeper/hk_data
check: tae/tae_list
check: tae/tae_sum
check: config/launch.toml_018f7a50-d300-7017-8580-150edf08733e
check: config/log.toml_018f7a50-d30c-7ed0-85bc-191e9f1eb753
...

Snapshot backup

Create snapshot

Grammar structure

mo_br snapshot create
    --host
    --port 
    --user
    --password 
    --level 
    --account 
    --sname 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
level snapshot backup scope, account
account The tenant object name of the snapshot backup. This parameter does not need to be filled in at the cluster level
sname snapshot name

Example

  • The cluster administrator creates a cluster-level snapshot:
./mo_br snapshot create --host "127.0.0.1" --port 6001 --user "root" --password "111" --level "cluster" --sname "cluster_sp1"
  • The system tenant administrator creates a tenant-level snapshot for the system tenant sys:
./mo_br snapshot create --host "127.0.0.1" --port 6001 --user "root" --password "111" --level "account" --sname "snapshot_01" --account "sys"
  • The system tenant administrator creates a tenant-level snapshot for the common tenant acc1:
 ./mo_br snapshot create --host "127.0.0.1" --port 6001 --user "root" --password "111" --level "account" --sname "snapshot_02" --account "acc1" 
  • A normal tenant administrator creates a tenant-level snapshot:

    • Create a common tenant acc1
    create account acc1 admin_name admin IDENTIFIED BY '111';
    
    • acc1 creates snapshot
    ./mo_br snapshot create  --host "127.0.0.1" --port 6001 --user "acc1#admin" --password "111" --level "account" --account "acc1" --sname "snapshot_03"
    

View snapshot

Grammar structure

mo_br snapshot show
    --host
    --port 
    --user 
    --password 
    --cluster
    --account 
    --db 
    --table 
    --sname 
    --beginTs 
    --endTs

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
cluster Fixed to fill in sys, other values ​​​​do not take effect, only used by sys administrators
account Tenant name to filter, for sys administrators only
db Database name to filter
table table name to filter
sname Snapshot name to filter
beginTs Start time of snapshot timestamp to filter
endTs The end time of the snapshot timestamp to be filtered

Example

  • View snapshots created under the system tenant administrator:
./mo_br snapshot show --host "127.0.0.1" --port 6001 --user "root" --password "111"
SNAPSHOT NAME           TIMESTAMP           SNAPSHOT LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME 
snapshot_02     2024-05-11 02:29:23.07401   account         acc1                                        
snapshot_01     2024-05-11 02:26:03.462462  account         sys  
  • View snapshots created under acc1 by normal tenant administrators:
./mo_br snapshot show --host "127.0.0.1" --port 6001 --user "acc1#admin" --password "111"
SNAPSHOT NAME           TIMESTAMP           SNAPSHOT LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME 
snapshot_03     2024-05-11 02:29:31.572512  account         acc1     
  • View the snapshot created for tenant acc1 under the system tenant administrator and filter the start time:
./mo_br snapshot show --host "127.0.0.1" --port 6001 --user "root" --password "111" --account "acc1" --beginTs "2024-05-11 00:00:00"     
SNAPSHOT NAME           TIMESTAMP           SNAPSHOT LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME 
snapshot_02     2024-05-11 02:29:23.07401   account         acc1 

Delete snapshot

Grammar structure

mo_br snapshot drop
    --host
    --port 
    --user 
    --password 
    --sname 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
sname Snapshot name to filter

Example

  • Delete snapshots created by the system administrator:
./mo_br snapshot drop --host "127.0.0.1" --port 6001 --user "root" --password "111" --sname "snapshot_01"
  • Delete snapshots created by normal tenant administrators:
./mo_br snapshot drop --host "127.0.0.1" --port 6001 --user "acc1#admin" --password "111" --sname "snapshot_03" 

Restore snapshot

Grammar structure

mo_br snapshot restore
    --host 
    --port 
    --user 
    --password 
    --sname 
    --account 
    --db 
    --table 
    --newaccount 
    --newaccountadmin 
    --newaccountpwd 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
sname The name of the snapshot to be restored
account Tenant name to restore, for sys administrators only
db The name of the database to be restored
table The name of the table to be restored
newaccount Newly created tenant name
newaccountadmin Tenant Administrator
newaccountpwd Tenant administrator password

NOTE: Only the system tenant can perform restore data to a new tenant, and only tenant-level restores are allowed.

Example

  • Table level recovery
./mo_br snapshot restore --host "127.0.0.1" --port 6001 --user "root" --password "111" --account "sys" --db "snapshot_read" --table "test_snapshot_read" --sname "sp_01"
  • Database level recovery
./mo_br snapshot restore --host "127.0.0.1" --port 6001 --user "root" --password "111" --account "sys" --db "snapshot_read" --sname "sp_02"
  • Tenant level restore to this tenant
./mo_br snapshot restore --host "127.0.0.1" --port 6001 --user "root" --password "111" --account "sys" --sname "sp_03"
  • Tenant level revert to new tenant
./mo_br snapshot restore --host "127.0.0.1" --port 6001 --user "root" --password "111" --account "sys" --sname "sp_03" --new_account "acc2" --new_admin_name "admin" --new_admin_password "111";
  • Cluster level recovery
./mo_br snapshot restore --host "127.0.0.1" --port 6001 --user "root" --password "111"  --sname "cluster_sp1"

PITR backup

Create PITR

Grammar structure

mo_br pitr create 
    --host
    --port 
    --user 
    --password 
    --pname 
    --level 
    --account 
    --database 
    --table 
    --rangevalue 
    --rangeunit 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
pname pitr name
level Backup scope, cluster
account Backup tenant name
database Backup database name
table Backup table name
rangevalue Time range value, 1-100
rangeunit Time range unit, optional range h (hour), d (day, default), mo (month), y (year)

Example

  • Cluster level

Only system tenants can create cluster-level pitrs.

./mo_br pitr create --host "127.0.0.1" --port 6001 --user "root" --password "111" --pname "pitr01" --level "cluster" --rangevalue 10 --rangeunit "h"
  • Tenant level

System tenants can create tenant-level pitrs for themselves and other tenants.

./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr02" --level "account" --account "sys" --rangevalue 1 --rangeunit "d"

mo create account acc01 admin_name = 'test_account' identified by '111';
mo create account acc02 admin_name = 'test_account' identified by '111';

./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr015" --level "account" --account "acc01" --rangevalue 1 --rangeunit "y"

./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr016" --level "account" --account "acc02" --rangevalue 1 --rangeunit "y"

Ordinary tenants can only create tenant-level pitrs for themselves.

./mo_br pitr create --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr07" --level "account" --account "acc01" --rangevalue 1 --rangeunit "h"
  • database level
./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr011" --level "database" --account "sys" --database "abc" --rangevalue 1 --rangeunit "y"
  • table level
./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr011" --level "database" --account "sys" --database "abc" --rangevalue 1 --rangeunit "y"

View PITR

Grammar structure

mo_br pitr show
    --hostname 
    --port 
    --user 
    --password 
    --cluster 
    --account 
    --database 
    --table 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
pname pitr name
cluster Fixed filling in sys, other values ​​​​do not take effect, only used by sys administrators
account Backup tenant name
database Backup database name
table Backup table name

Example

  • View all pitr
./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111" 
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr016     2024-08-08 06:55:40 2024-08-08 06:55:40 account     acc02           *               *                     1 y           
pitr015     2024-08-08 06:55:04 2024-08-08 06:55:04 account     acc01           *               *                     1 y           
pitr012     2024-08-08 06:52:30 2024-08-08 06:52:30 table       sys             abc             test                  1 y           
pitr011     2024-08-08 06:50:43 2024-08-08 06:50:43 database    sys             abc             *                     1 y           
pitr05      2024-08-08 06:45:56 2024-08-08 06:45:56 account     sys             *               *                     1 y           
pitr04      2024-08-08 06:45:52 2024-08-08 06:45:52 account     sys             *               *                     1 mo          
pitr03      2024-08-08 06:45:42 2024-08-08 06:45:42 account     sys             *               *                     1 d           
pitr02      2024-08-08 06:45:25 2024-08-08 06:45:25 account     sys             *               *                     1 h           
pitr01      2024-08-08 06:32:31 2024-08-08 06:32:31 cluster     *               *               *                    10 h  
  • View cluster level pitr
./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111"  --cluster "sys"
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr01      2024-08-08 06:32:31 2024-08-08 06:32:31 cluster     *               *               *                    10 h 
  • View tenant level pitr
./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111"  --account "sys"
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr012     2024-08-08 06:52:30 2024-08-08 06:52:30 table       sys             abc             test                  1 y           
pitr011     2024-08-08 06:50:43 2024-08-08 06:50:43 database    sys             abc             *                     1 y           
pitr05      2024-08-08 06:45:56 2024-08-08 06:45:56 account     sys             *               *                     1 y           
pitr04      2024-08-08 06:45:52 2024-08-08 06:45:52 account     sys             *               *                     1 mo          
pitr03      2024-08-08 06:45:42 2024-08-08 06:45:42 account     sys             *               *                     1 d           
pitr02      2024-08-08 06:45:25 2024-08-08 06:45:25 account     sys             *               *                     1 h   
  • View database level pitr
./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111"  --account "sys" --database "abc"
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr012     2024-08-08 06:52:30 2024-08-08 06:52:30 table       sys             abc             test                  1 y           
pitr011     2024-08-08 06:50:43 2024-08-08 06:50:43 database    sys             abc             *                     1 y     
  • View table level pitr
 ./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111"  --account "sys" --database "abc" --table "test"
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr012     2024-08-08 06:52:30 2024-08-08 06:52:30 table       sys             abc             test                  1 y          

Change PITR

Grammar structure

mo_br pitr alter
    --host
    --port 
    --user 
    --password 
    --pname 
    --rangevalue
    --rangeunit 

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
pname pitr name
rangevalue Time range value, 1-100
rangeunit Time range unit, optional range h (hour), d (day, default), mo (month), y (year)

Example

./mo_br pitr alter --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr01" --rangevalue 10 --rangeunit "d"
 ./mo_br pitr show --host "127.0.0.1" --port 6001 --user "dump" --password "111"  --cluster "sys"
PITR NAME      CREATED TIME        MODIFIED TIME    PITR LEVEL  ACCOUNT NAME    DATABASE NAME   TABLE NAME  PITR LENGTH PITR UNIT 
pitr01      2024-08-08 06:32:31 2024-08-08 07:31:06 cluster     *               *               *                    10 d    

Restore PITR

Grammar structure

mo_br pitr restore
    --host string cluster IP
    --port int cluster port number
    --user string username
    --password user password
    //Object name to be restored
    --cluster restores the entire cluster, only for cluster administrators. Fixed filling in sys. After filling in this field, only need to fill in --timestamp
    --account Tenant name to filter, only for cluster administrators
    --database The name of the database to filter
    --table The name of the table to filter
    //Time to restore
    --timestamp
    //Create and restore to new tenant
    --new_account string Newly created tenant name
    --new_admin_name string tenant administrator
    --new_admin_password string Tenant administrator password

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
cluster Restore the entire cluster, only for cluster administrators. Fixed filling in sys. After filling in this field, just fill in --timestamp
account Tenant name to filter, only for cluster administrators
database Database name to filter
table table name to filter
timestamp time to restore
new_account Time to restore
new_admin_name Create and restore to new tenant, newly created tenant name
new_admin_password Tenant Administrator
timestamp Tenant administrator password

example

  • system tenant

    #cluster
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr01" --level "cluster" --rangevalue 10 --rangeunit "h"
    
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr01" --cluster "sys" --timestamp "2024-08-08 15:42:20.249966"
    
    #tenent
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr100" --level "account" --account "sys" --rangevalue 10 --rangeunit "h"
    ##Use account pitr to restore account
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr100" --timestamp "2024-08-08 15:47:15.216472" --account "sys"
    ##Use account pitr to restore db
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr100" --timestamp "2024-08-08 15:47:15.216472" --account "sys" --database "abc"
    ##Use account pitr to restore table
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr100" --timestamp "2024-08-08 15:47:15.216472" --account "sys" --database "abc" --table "test"
    
    #Database level
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr101" --level "database" --account "sys" --database "abc" --rangevalue 10 --rangeunit "h"
    ##Use db pitr to restore db
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr101" --timestamp "2024-08-08 15:56:18.610295" --account "sys" --database "abc"
    ##Use db pitr to restore table
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr101" --timestamp "2024-08-08 15:56:18.610295" --account "sys" --database "abc" --table "test"
    
    #Table level
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr102" --level "table" --account "sys" --database "abc" --table "test" --rangevalue 10 --rangeunit "h"
    ##用 table pitr 恢复 table
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr102" --timestamp "2024-08-08 16:00:41.433477" --account "sys" --database "abc" --table "test"
    
  • Ordinary tenant

    #Tenant level
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "acc01#test_account"  --password "111" --pname "pitr200" --level "account" --account "acc01" --rangevalue 10 --rangeunit "h"
    ##Use account pitr to restore account
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr200" --timestamp "2024-08-08 16:04:17.276521" --account "acc01"
    ##Restore db using account pitr
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr200" --timestamp "2024-08-08 16:04:17.276521" --account "acc01" --database "abc"
    ##Use account pitr to restore the table
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr200" --timestamp "2024-08-08 16:04:17.276521" --account "acc01" --database "abc" --table "test"
    
    #database level
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "acc01#test_account"  --password "111" --pname "pitr201" --level "database" --account "acc01" --database "abc" --rangevalue 10 --rangeunit "h"
    ##Restore db using db pitr
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr201" --timestamp "2024-08-08 16:06:50.374948" --account "acc01" --database "abc"
    ##Use db pitr to restore table
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr201" --timestamp "2024-08-08 16:06:50.374948" --account "acc01" --database "abc" --table "test"
    
    #Table level
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "acc01#test_account"  --password "111" --pname "pitr202" --level "table" --account "acc01" --database "abc" --table "test" --rangevalue 10 --rangeunit "h"
    ##Restoring table using table pitr
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "acc01#test_account" --password "111" --pname "pitr202" --timestamp "2024-08-08 16:06:50.374948" --account "acc01" --database "abc" --table "test"
    
    #The system tenant creates a pitr for the ordinary tenant and restores the ordinary tenant
    
    ./mo_br pitr create --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr300" --level "account" --account "acc01" --rangevalue 1 --rangeunit "y"
    
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr300" --timestamp "2024-08-08 16:09:17.035136" --account "acc01"
    
    #System tenant restores normal tenant to new tenant
    ./mo_br pitr restore --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr300" --timestamp "2024-08-08 16:09:17.035136" --account "acc03" --new_account "acc03"  --new_admin_name "test_account" --new_admin_password "111"
    

Delete PITR

Grammar structure

mo_br pitr drop
    --host
    --port 
    --user 
    --password 
    --pname

Parameter description

Parameters Description
host IP of target MatrixOne
port Port number
user user
password User's password
pname pitr name

示例

./mo_br pitr drop  --host "127.0.0.1" --port 6001 --user "dump" --password "111" --pname "pitr01"