#yasrman操作示例
本示例以sys用户进行备份恢复相关操作,以普通用户执行建表和查表操作,文中所列用户、密码、IP、端口、路径等均需替换为实际值。
在单机部署和共享集群部署中yasrman命令与用法完全一致,在分布式部署中则略有差异。
# 单机和共享集群部署示例
创建catalog文件。
$ yasrman sys/sys@192.168.1.2:1688 -c "create catalog" -D /home/yashan/catalog create catalog successfully
列出已有默认配置项。
$ 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 | +---------------------------+-----------+----------------+
配置备份功能。
$ 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 | +---------------------------+-----------+----------------+
模拟业务产生数据。
-- 以普通用户登录yasql客户端后执行下列操作 CREATE TABLE AGE(a INT); INSERT INTO age VALUES(1); COMMIT; exit
执行全量备份。
$ yasrman sys/sys@192.168.1.2:1688 -c "backup database tag 'full_1' format 'full_bak_1'" -D /home/yashan/catalog backup successfully
执行增量备份。
# 执行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
查看备份集。
$ 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
恢复备份集。
# restore前期准备,清理环境 $ yasdb # 执行restore $ yasrman sys/sys@192.168.1.2:1688 -c "restore database from tag 'incr_2'" -D /home/yashan/catalog restore successfully
查看数据是否恢复成功。
SELECT a FROM age; A ------------ 1
# 分布式部署示例
创建catalog文件。
$ yasrman sys/sys@192.168.1.3:1688 -c "create catalog" -D /home/yashan/catalog
列出已有默认配置项。
$ 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 | '' | '' | +---------------------------+-----------+----------------+
配置备份功能。
$ 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 | '' | '' | +---------------------------+-----------+----------------+
模拟业务产生数据。
-- 以普通用户登录yasql客户端后执行下列操作 CREATE TABLE AGE(a INT); INSERT INTO age VALUES(1); COMMIT; exit
执行全量备份。
$ 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
执行增量备份。
# 执行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
查看备份集。
$ 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:
恢复备份集。
# 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
查看数据是否恢复成功。
SELECT a FROM age; A ------------ 1