
使用gs_probackup进行openGauss数据库物理备份与恢复(1)
4.全备(2 rows)
3.初始化备份实例
在备份路径\_backup-path\_内初始化一个新的备份实例,并生成pg\_probackup.conf配置文件,该文件保存了指定数据目录\_pgdata-path\_的gs\_probackup设置。
gs_probackup add-instance -B /og/probkp/ -D /opt/software/openGauss/data/single_node/ --instance instance_local
4.全备
[omm@hecs-1105531 instance_local]$ gs_probackup backup -B /og/probkp/ --instance instance_local -d postgres -b FULL
这里-d 指定要连接的数据库名称。该连接仅用于管理备份进程,因此您可以连接到任何现有的数据库。如果命令行、PGDATABASE环境变量或pg\_probackup.conf配置文件中没有指定此参数,则gs\_probackup会尝试从PGUSER环境变量中获取该值。如果未设置PGUSER变量,则从当前用户名获取。
-b 指定的是FULL:创建全量备份,全量备份包含所有数据文件。
5.查看备份情况
gs_probackup show -B /og/probkp/ --instance instance_local

这里我们对数据库进行一些变更后再进行增量备份。
[omm@hecs-1105531 backups]$ gsql -d dumpdb -U dumpuser
Password for user dumpuser:
gsql ((openGauss 3.1.0 build 4e931f9a) compiled at 2022-09-29 14:19:24 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type “help” for help.
dumpdb=> \d
List of relations
Schema | Name | Type | Owner | Storage
--------±------±------±---------±---------------------------------
public | test1 | table | dumpuser | {orientation=row,compression=no}
public | test2 | table | dumpuser | {orientation=row,compression=no}
(2 rows)
dumpdb=> select * from test2;
id
(0 rows)
dumpdb=> insert into test2 values(111);
INSERT 0 1
dumpdb=> select * from test2;
id
111
(1 row)
6.增量备份。
gs_probackup backup -B /og/probkp/ --instance instance_local -d postgres -b PTRACK
增量备份成功后,我们可以查询到对应的这条记录。

7.将增量备份和全量备份合并。
gs_probackup merge -B /og/probkp/ --instance instance_local -i RNABP0
将指定的增量备份与其父完全备份之间的所有增量备份合并到父完全备份。父完全备份将接收所有合并的数据,而已合并的增量备份将作为冗余被删除。

这里我们直接将dumpdb删除。然后使用合并后的备份文件恢复。

8.恢复。
使用restore子命令前,应先停止gaussdb进程。
[omm@hecs-1105531 backups]$ gs_ctl stop -D /opt/software/openGauss/data/single_node/
[2022-12-22 17:23:26.917][18543][][gs_ctl]: gs_ctl stopped ,datadir is /opt/software/openGauss/data/single_node
waiting for server to shut down… done
server stopped
[omm@hecs-1105531 backups]$ cd /opt/software/openGauss/data/
[omm@hecs-1105531 data]$ mv single_node/ single_nodebak/
执行restore恢复到误删前的数据状态。
[omm@hecs-1105531 data]$ gs_probackup restore -B /og/probkp/ --instance instance_local -D /opt/software/openGaus

启动数据库。
[omm@hecs-1105531 data]$ gs_ctl start -D /opt/software/openGauss/data/single_node/
查看之前已经删掉的数据库已恢复。内容与增量备份后数据一致。



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
更多推荐
所有评论(0)