#yasrman操作示例

本示例以sys用户进行备份恢复相关操作,以普通用户执行建表和查表操作,文中所列用户、密码、IP、端口、路径等均需替换为实际值。

在单机部署和共享集群部署中yasrman命令与用法完全一致,在分布式部署中则略有差异。

# 单机和共享集群部署示例

  1. 创建catalog文件。

    $ yasrman sys/sys@192.168.1.2:1688 -c "create catalog" -D /home/yashan/catalog
    
    create catalog successfully
    
  2. 列出已有默认配置项。

    $ yasrman sys/sys@192.168.1.2:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 2              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | NONE           |
    | COMPRESSION LEVEL         | LOW       | LOW            |
    | DEST                      | SERVER    | SERVER         |
    +---------------------------+-----------+----------------+
    
  3. 配置备份功能。

    $ yasrman sys/sys@192.168.1.2:1688 -c "configure PARALLELISM 4" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.2:1688 -c "configure COMPRESSION ALGORITHM ZSTD" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.2:1688 -c "configure COMPRESSION LEVEL HIGH" -D /home/yashan/catalog
    
    configure successfully
    

    配置完成之后使用show all查看已配置项。

    $ yasrman sys/sys@192.168.1.2:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 4              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | ZSTD           |
    | COMPRESSION LEVEL         | LOW       | HIGH           |
    | DEST                      | SERVER    | SERVER         |
    +---------------------------+-----------+----------------+
    

    使用如下clear命令清空压缩算法的配置项:

    $ yasrman sys/sys@192.168.1.2:1688 -c "configure COMPRESSION ALGORITHM CLEAR" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.2:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 4              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | NONE           |
    | COMPRESSION LEVEL         | LOW       | HIGH           |
    | DEST                      | SERVER    | SERVER         |
    +---------------------------+-----------+----------------+
    
  4. 模拟业务产生数据。

    -- 以普通用户登录yasql客户端后执行下列操作
    CREATE TABLE AGE(a INT);
    INSERT INTO age VALUES(1);
    COMMIT;
    exit
    
  5. 执行全量备份。

    $ yasrman sys/sys@192.168.1.2:1688 -c "backup database tag 'full_1' format 'full_bak_1'" -D /home/yashan/catalog
    
    backup successfully
    
  6. 执行增量备份。

    # 执行level 0的基线备份
    $ yasrman sys/sys@192.168.1.2:1688 -c "backup database incremental level 0 tag 'incr_1' format 'incr_bak_1'" -D /home/yashan/catalog
    
    backup successfully
    
    # 执行level 1的增量备份
    $ yasrman sys/sys@192.168.1.2:1688 -c "backup database incremental level 1 tag 'incr_2' format 'incr_bak_2'" -D /home/yashan/catalog
    
    backup successfully
    
  7. 查看备份集。

    $ yasrman sys/sys@192.168.1.2:1688 -c "list backup" -D /home/yashan/catalog
    Group: tag: full_1, format: /home/yashan/yasdata/backup/full_1, connect url: 192.168.1.2:1688, nodeCount: 1, distribution: FALSE, isClient: FALSE, offset: 0
        backup path: /home/yashan/yasdata/backup/full_1 
    
    Group: tag: incr_1, format: /home/yashan/yasdata/backup/incr_1, connect url: 192.168.1.2:1688, nodeCount: 1, distribution: FALSE, isClient: FALSE, offset: 12288
        backup path: /home/yashan/yasdata/backup/incr_1 
    
    Group: tag: incr_2, format: /home/yashan/yasdata/backup/incr_2, connect url: 192.168.1.2:1688, nodeCount: 1, distribution: FALSE, isClient: FALSE, offset: 24576
        backup path: /home/yashan/yasdata/backup/incr_2 
    
  8. 恢复备份集。

    # restore前期准备,清理环境
    $ yasdb
    
    # 执行restore
    $ yasrman sys/sys@192.168.1.2:1688 -c "restore database from tag 'incr_2'" -D /home/yashan/catalog 
    
    restore successfully
    
  9. 查看数据是否恢复成功。

    SELECT a FROM age;
    
            A 
    ------------ 
            1
    
    

# 分布式部署示例

  1. 创建catalog文件。

    $ yasrman sys/sys@192.168.1.3:1688 -c "create catalog" -D /home/yashan/catalog
    
  2. 列出已有默认配置项。

    $ yasrman sys/sys@192.168.1.3:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 2              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | NONE           |
    | COMPRESSION LEVEL         | LOW       | LOW            |
    | DEST                      | SERVER    | SERVER         |
    | DSTB NODES                | ''        | ''             |
    +---------------------------+-----------+----------------+
    
  3. 配置备份功能。

    $ yasrman sys/sys@192.168.1.3:1688 -c "configure PARALLELISM 4" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.3:1688 -c "configure COMPRESSION ALGORITHM ZSTD" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.3:1688 -c "configure COMPRESSION LEVEL HIGH" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/sys@192.168.1.2:1688 -c 'configure dstb_nodes '/home/yashan/catalog/dstb_nodes_file'' -D /home/yashan/catalog
    
    configure successfully
    

    配置完成之后使用show all查看已配置项。

    $ yasrman sys/sys@192.168.1.3:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 4              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | ZSTD           |
    | COMPRESSION LEVEL         | LOW       | HIGH           |
    | DEST                      | SERVER    | SERVER         |
    | DSTB NODES                | ''        | /home/yashan/catalog/dstb_nodes_file |
    +---------------------------+-----------+----------------+
    

    使用如下clear命令清空压缩算法的配置项 :

    $ yasrman sys/sys@192.168.1.3:1688 -c "configure COMPRESSION ALGORITHM CLEAR" -D /home/yashan/catalog
    
    configure successfully
    
    $ yasrman sys/password@192.168.1.3:1688 -c "show all" -D /home/yashan/catalog
    +---------------------------+-----------+----------------+
    |           NAME            |  DEFAULT  |      VALUE     |
    +---------------------------+-----------+----------------+
    | PARALLELISM               | 2         | 4              |
    | SECTION SIZE              | 134217728 | 134217728      |
    | COMPRESSION ALGORITHM     | NONE      | NONE           |
    | COMPRESSION LEVEL         | LOW       | HIGH           |
    | DEST                      | SERVER    | SERVER         |
    | DSTB NODES                | ''        | ''             |
    +---------------------------+-----------+----------------+
    
  4. 模拟业务产生数据。

    -- 以普通用户登录yasql客户端后执行下列操作
    CREATE TABLE AGE(a INT);
    INSERT INTO age VALUES(1);
    COMMIT;
    exit
    
  5. 执行全量备份。

    $ yasrman sys/sys@192.168.1.3:1688 -c "backup cluster tag 'full_1' format 'full_bak_1'" -D /home/yashan/catalog
    Node 0: MN, 1-1    192.168.1.2:1678    role PRIMARY
    Node 1: MN, 1-2    192.168.1.3:1678    role STANDBY
    Node 2: MN, 1-3    192.168.1.4:1678    role STANDBY
    Node 3: CN, 2-1    192.168.1.3:1688    role PRIMARY
    Node 4: CN, 2-2    192.168.1.4:1688    role PRIMARY
    Node 5: DN, 3-1    192.168.1.4:1698    role PRIMARY
    Node 6: DN, 3-2    192.168.1.2:1698    role STANDBY
    Node 7: DN, 3-3    192.168.1.3:1698    role STANDBY
    backup database node 1-1
    backup database node 2-1
    backup database node 2-2
    backup database node 3-1
    backup cluster successfully
    
  6. 执行增量备份。

    # 执行level 0的基线备份
    $ yasrman sys/sys@192.168.1.3:1688 -c "backup cluster incremental level 0 tag 'incr_1' format 'incr_bak_1'" -D /home/yashan/catalog
    Node 0: MN, 1-1    192.168.1.2:1678    role PRIMARY
    Node 1: MN, 1-2    192.168.1.3:1678    role STANDBY
    Node 2: MN, 1-3    192.168.1.4:1678    role STANDBY
    Node 3: CN, 2-1    192.168.1.3:1688    role PRIMARY
    Node 4: CN, 2-2    192.168.1.4:1688    role PRIMARY
    Node 5: DN, 3-1    192.168.1.4:1698    role PRIMARY
    Node 6: DN, 3-2    192.168.1.2:1698    role STANDBY
    Node 7: DN, 3-3    192.168.1.3:1698    role STANDBY
    backup database node 1-1
    backup database node 2-1
    backup database node 2-2
    backup database node 3-1
    backup cluster successfully
    
    # 执行level 1的增量备份
    $ yasrman sys/sys@192.168.1.3:1688 -c "backup cluster incremental level 1 tag 'incr_2' format 'incr_bak_2'" -D /home/yashan/catalog
    Node 0: MN, 1-1    192.168.1.2:1678    role PRIMARY
    Node 1: MN, 1-2    192.168.1.3:1678    role STANDBY
    Node 2: MN, 1-3    192.168.1.4:1678    role STANDBY
    Node 3: CN, 2-1    192.168.1.3:1688    role PRIMARY
    Node 4: CN, 2-2    192.168.1.4:1688    role PRIMARY
    Node 5: DN, 3-1    192.168.1.4:1698    role PRIMARY
    Node 6: DN, 3-2    192.168.1.2:1698    role STANDBY
    Node 7: DN, 3-3    192.168.1.3:1698    role STANDBY
    backup database node 1-1
    backup database node 2-1
    backup database node 2-2
    backup database node 3-1
    backup cluster successfully
    
  7. 查看备份集。

    $ yasrman sys/sys@192.168.1.3:1688 -c "list backup" -D /home/yashan/catalog
    Group: tag: full_1, format full_bak_1, connect url: 192.168.1.3:1688, nodeCount: 8, distribution: TRUE, offset: 86016
      backupset ID: 0
        node 1-1, type MN, url 192.168.1.2:1678, role PRIMARY
        backup path: /home/yashan/mn/mn-1-1/backup/full_bak_1 
      backupset ID: 1
        node 1-2, type MN, url 192.168.1.3:1678 , role STANDBY
        backup path:  
      backupset ID: 2
        node 1-3, type MN, url 192.168.1.4:1678, role STANDBY
        backup path: 
      backupset ID: 3
        node 2-1, type CN, url 192.168.1.3:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 4
        node 2-2, type CN, url 192.168.1.4:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 5
        node 3-1, type DN, url 192.168.1.4:1698, role PRIMARY
        backup path: /home/yashan/dn/dn-3-1/backup/full_bak_1 
      backupset ID: 6
        node 3-2, type DN, url 192.168.1.2:1698, role STANDBY
        backup path:  
      backupset ID: 7
        node 3-3, type DN, url 192.168.1.3:1698, role STANDBY
        backup path:  
    
    Group: tag: incr_1, format incr_bak_1, connect url: 127.0.0.1:1688, nodeCount: 8, distribution: TRUE, offset: 172032
      backupset ID: 0
        node 1-1, type MN, url 192.168.1.2:1678, role PRIMARY
        backup path: /home/yashan/mn/mn-1-1/backup/full_bak_1 
      backupset ID: 1
        node 1-2, type MN, url 192.168.1.3:1678 , role STANDBY
        backup path:  
      backupset ID: 2
        node 1-3, type MN, url 192.168.1.4:1678, role STANDBY
        backup path: 
      backupset ID: 3
        node 2-1, type CN, url 192.168.1.3:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 4
        node 2-2, type CN, url 192.168.1.4:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 5
        node 3-1, type DN, url 192.168.1.4:1698, role PRIMARY
        backup path: /home/yashan/dn/dn-3-1/backup/full_bak_1 
      backupset ID: 6
        node 3-2, type DN, url 192.168.1.2:1698, role STANDBY
        backup path:  
      backupset ID: 7
        node 3-3, type DN, url 192.168.1.3:1698, role STANDBY
        backup path:  
    
    Group: tag: incr_2, format incr_bak_2, connect url: 192.168.1.3:1688, nodeCount: 8, distribution: TRUE, offset: 258048
      backupset ID: 0
        node 1-1, type MN, url 192.168.1.2:1678, role PRIMARY
        backup path: /home/yashan/mn/mn-1-1/backup/full_bak_1 
      backupset ID: 1
        node 1-2, type MN, url 192.168.1.3:1678 , role STANDBY
        backup path:  
      backupset ID: 2
        node 1-3, type MN, url 192.168.1.4:1678, role STANDBY
        backup path: 
      backupset ID: 3
        node 2-1, type CN, url 192.168.1.3:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 4
        node 2-2, type CN, url 192.168.1.4:1688, role PRIMARY
        backup path: /home/yashan/cn/cn-2-1/backup/full_bak_1 
      backupset ID: 5
        node 3-1, type DN, url 192.168.1.4:1698, role PRIMARY
        backup path: /home/yashan/dn/dn-3-1/backup/full_bak_1 
      backupset ID: 6
        node 3-2, type DN, url 192.168.1.2:1698, role STANDBY
        backup path:  
      backupset ID: 7
        node 3-3, type DN, url 192.168.1.3:1698, role STANDBY
        backup path:  
    
  8. 恢复备份集。

    # restore前期准备,清理环境,并重启分布式集群
    $ yasboot cluster clean -c yashan --restore --force
    
    # 执行restore
    $ yasrman sys/sys@192.168.1.3:1688 -c "restore cluster from tag 'incr_2'" -D /home/yashan/catalog 
    Node 0: MN, 1-1    192.168.1.2:1678    role PRIMARY
    Node 1: MN, 1-2    192.168.1.3:1678    role STANDBY
    Node 2: MN, 1-3    192.168.1.4:1678    role STANDBY
    Node 3: CN, 2-1    192.168.1.3:1688    role PRIMARY
    Node 4: CN, 2-2    192.168.1.4:1688    role PRIMARY
    Node 5: DN, 3-1    192.168.1.4:1698    role PRIMARY
    Node 6: DN, 3-2    192.168.1.2:1698    role STANDBY
    Node 7: DN, 3-3    192.168.1.3:1698    role STANDBY
    restore database node 1-1, URL 192.168.1.2:1678
    build database node 1-2, URL 192.168.1.3:1678
    build database node 1-3, URL 192.168.1.4:1678
    restore database node 3-1, URL 192.168.1.4:1698
    build database node 3-2, URL 192.168.1.2:1698
    build database node 3-3, URL 192.168.1.3:1698
    restore database node 2-2, URL 192.168.1.4:1688
    restore database node 2-1, URL 192.168.1.3:1688
    restore cluster successfully
    
  9. 查看数据是否恢复成功。

    SELECT a FROM age;
    
              A 
    ------------ 
              1
    
    
pdf-btn 下载文档
copy-btn 复制链接