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參數可查看存儲的備份位置,你要還原哪個就寫相應的時間戳目錄名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM