[openGauss]数据备份和恢复

「这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

前言

为了保证数据库安全性,预防生产事故导致数据丢失等重大损失,~~以及删库跑路,~~我们需要定期对数据库进行备份。

数据库备份

①逻辑备份

使用命令:

gs_dumpall -f 2021-11-19.sql -p 26000

可实现数据库的存储逻辑备 份,将数据库保存为.sql文件。

image.png

查看生成的.sql文件,发现存储了包括用户信息,表结构,数据在内的所有内容:

vim 2021-11-19.sql

image.png

②文件备份

首先创建备份文件夹:

mkdir /home/omm/backup-2021-11-19

image.png

使用gs_basebackup命令进行备份:

gs_basebackup -D /home/omm/backup-2021-11-19 -p 26000 -P -l /home/omm/backup-2021-11-19

image.png

提示备份成功,查看备份文件夹发现多了许多目录与配置文件:

image.png

与当前数据库文件保持一致:

image.png

备份恢复

①逻辑备份

删掉用于测试的test数据库:

drop database test;

image.png

使用gsql命令执行sql命令:

gsql -p 26000 -f 2021-11-19.sql postgres

image.png

发现test被恢复:

image.png

②文件备份

在还原前,需要先关闭数据库:

gs_om -t stop

image.png

修改原目录名称,表示删除数据库,使用gs_om-t start提示     数据库配置不存在:

image.png

复制之前备份的数据库文件,再次启动完成备份恢复:

cp -r /home/omm/backup-2021-11-19/ /gaussdb/data/db1/

数据库结构不变:

image.png