【参赛作品30】opengauss gs_basebackup实践

本文详细介绍了如何在openGauss数据库中使用gs_basebackup工具进行物理备份和恢复操作。内容包括备份前提条件、环境配置、备份与恢复步骤,以及一些注意事项。在实践中,作者展示了从主库备份并在备库恢复的过程,验证了不同版本间的兼容性。
摘要由CSDN通过智能技术生成

本文作者:邹阳

详细参考 https://gitee.com/opengauss/docs 中的备份与恢复篇

https://gitee.com/opengauss/docs/blob/master/content/zh/docs/Administratorguide/%E5%A4%87%E4%BB%BD%E4%B8%8E%E6%81%A2%E5%A4%8D.md

以下文字摘至官方文档。

openGauss部署成功后,在数据库的运行过程中,往往会遇到各种问题及异常状态。

openGauss提供了gs_basebackup工具用作基础的物理备份。它可以实现对数据文件的二进制拷贝备份,其实现原理使用了复制协议。

远程执行gs_basebackup时,需要使用系统管理员账户。

Ø备份的前提条件

1.备份客户端可以正常连接openGauss数据库;

2.pg_hba.conf中需要配置允许复制链接,且该连接必须由一个系统管理员建立;

3.如果xlog传输模式为stream模式,则需要配置max_wal_senders的数量, 至少有一个可用;

4.如果xlog传输模式为fetch模式,则需要把wal_keep_segments参数设置得足够高,确保在备份完毕之前日志不会被移除;

Tips

1.gs_basebackup 支持全量备份,不支持增量;

2.gs_basebackup 支持简单备份格式和压缩备份格式;

3.gs_basebackup 在备份包含绝对路径的表空间时,不能在同一台机器上进行备份,会产生冲突;

4.若打开增量检测点功能且打开双写, gs_basebackup也会备份双写文件;

5.若pg_xlog目录为软链接,备份时将不会建立软链接,会直接将数据备份到目的路径的pg_xlog目录下;

6.备份过程中收回用户的备份权限,可能导致备份失败,或者备份数据不可用。

一、环境简介

两台主机分别为 node01 node02 分别安装opengauss 2.0 opengauss2.0.1 数据库

二、主库中创建新数据库,并备份恢复至备库

CREATE DATABASE mydb WITH ENCODING ‘GBK’ template = template0;

image20210707182235155.png

使用该数据库并创建表空间、表

查看当前使用的数据库

select current_catalog,current_database();

列出所有的数据库

\l

image20210708163732041.png

\c <要使用的数据库名称> 连接mydb

image20210708163915384.png

\db 查询对应的数据库下的表空间

image20210708164101815.png

创建表空间

create tablespace mytbs RELATIVE LOCATION ‘tablespace/mytbs’;

创建测试表

create table table_in_mytbs_ts (col1 char(10)) tablespace mytbs;

image20210708170539527.png

gs_basebackup备份参数介绍

image20210710140932539.png

在主库修改pg_hba.conf 配置添加配置

host replication rep1 172.16.100.0/24 sha256

image20210710141553860.png

修改参数后重启数据库

image20210710142554436.png

创建复制用户

–创建备份用户并放开权限(远程执行gs_basebackup时,需要使用系统管理员账户)

postgres=# create user rep1 with sysadmin identified by ‘huawei@1234’;

在备库创建备份

su - omm

gs_basebackup -D /home/omm/gs_bak -h 172.16.100.26 -p 26000 -U rep1 -W

image20210710143331004.png

可以看到备份其实是将目录做了拷贝

image20210710143413887.png

本机恢复

首先删除mydb

drop database mydb

image20210710152158022.png

将备份从备机传至主机

image20210710152658230.png

将数据库原目录改名,并将备份目录改成原数据库目录的名字

image20210710152800332.png

启动数据库

image20210710152910645.png

验证原数据库已经找回

image20210710152953781.png

备机恢复

修改备份文件中的postgresql.conf IP地址

image20210710153241580.png
备库停止数据库,并将主库的备份文件挪到数据库目录下

image20210710153418909.png

修改目录,将数据库原目录改名,将备份目录改名为数据库目录

image20210710153455102.png

启动数据库,验证成功

image20210710153627215.png

小贴士,实践验证,opengauss 2.0 中创建的库,可以在opengauss 2.0.1 中正常打开。文中的node01 为2.0 node02 为 2.0.1

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gauss松鼠会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值