CentOS7 安装 gpbackup 和 gpbackup-s3-plugin 来备份和还原 Greenplum 数据库

安装Greenplum请看

https://www.cnblogs.com/kgdxpr/p/13652379.html

一、安装和配置GO的环境
yum install -y git wget

cd /usr/local
wget -c https://studygolang.com/dl/golang/go1.16.linux-amd64.tar.gz
tar -zxvf go1.16.linux-amd64.tar.gz

mv go /usr/local/gpadmin/

chown -R gpadmin:gpadmin /usr/local/gpadmin/go

su - gpadmin

source /usr/local/greenplum-db/greenplum_path.sh

vi ~/.bashrc

export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source ~/.bashrc

二、安装gpbackup
git clone https://gitee.com/mirrors_greenplum-db/gpbackup.git
cd gpbackup
go env -w GOPROXY=https://goproxy.cn
make depend
make build
make build_linux

#测试备份
gpbackup --dbname test_db

三、安装gpbackup-s3-plugin,将备份直接上传到S3协议的存储,例如华为的OBS,阿里的OSS,自已部署的minio
##插件需要安装集群的所有服务器上,所以都需要配置GO的环境
git clone https://gitee.com/mirrors_greenplum-db/gpbackup-s3-plugin.git
cd gpbackup-s3-plugin
go env -w GOPROXY=https://goproxy.cn
make build
make install


配置s3-config.yaml文件,我用的是华为的OBS

executablepath: /usr/local/gpadmin/gopath/bin/gpbackup_s3_plugin
options:
  endpoint: https://obs.cn-north-1.myhuaweicloud.com
  aws_access_key_id: AK
  aws_secret_access_key: SK
  bucket: 桶名
  folder: 目录名

## 备份test_db 数据库到S3协议的存储
gpbackup --dbname test_db --plugin-config /usr/local/gpadmin/s3-config.yaml

备份的位置:桶名/目录名/backups/YYYYMMDD/YYYYMMDDHHMMSS/

 

四、还原数据库

##需要先删掉数据库再还原

dropdb test_db
gprestore --timestamp 20210224102933 --plugin-config /usr/local/gpadmin/s3-config.yaml --create-db

--timestamp参数可查看存储的备份位置,你要还原哪个就写相应的时间戳目录名

posted @ 2021-02-24 11:00  缤纷世界  阅读(878)  评论(0编辑  收藏  举报