openGauss开源数据库实战二十六

发布于:2024-12-18 ⋅ 阅读:(38) ⋅ 点赞:(0)

任务二十六 openGauss 数据库的逻辑备份与顺复

任务目标

掌握openGauss数据库的逻辑备份和恢复。

实施步骤

一、为进行数据库逻辑备份做准备

使用Linux的root用户,执行下面的命令,创建逻辑备份的保存目录:

su -
mkdir /backup
chown omm.dbgrp /backup
exit

二、openGauss数据库逻辑备份和恢复案例1

1.使用gs_dump备份数据库,生成sql文件

使用Linux用户omm,执行下面的命令,备份openGauss的数据库studentdb:

gs_dump -U student -W student@ustb2020 -p 26000 studentdb -F p \
         -f /backup/studentdb_backup.sql
2.使用gs_dump生成的sql文件恢复数据库

使用Linux用户omm,执行下面的命令,创建数据库用户pupil、表空间pupilts、数据库pupildb:

gsql -d postgres -p 26000 -r
CREATE USER pupil IDENTIFIED BY 'pupil@ustb2020';
ALTER USER pupil SYSADMIN;
CREATE TABLESPACE pupil_ts RELATIVE LOCATION 'tablespace/pupil_ts1';
CREATE DATABASE pupildb WITH TABLESPACE =pupil_ts;
\q

使用Linux用户omm,用数据库用户pupil登录到openGaussDBMS,执行上面用gs_dump生成的sql文件,将数据恢复到数据库pupildb中:

gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 \
     -f /backup/studentdb_backup.sql -q

执行下面的命令,验证数据库studentdb的备份已经被恢复到数据库pupildb中:

gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"

执行下面的命令,清除实验数据:

gsql -d postgres -p 26000 -r
drop database pupildb;
drop tablespace pupil_ts;
drop user pupil;
\q
rm /backup/studentdb_backup.sql

三、openGauss数据库逻辑备份和恢复案例2

1.使用gs_dump备份数据库,生成归档格式的备份文件

使用Linux用户omm,执行下面的命令,生成归档格式的备份文件:

gs_dump -U student -W student@ustb2020 -p 26000 studentdb -F c \
         -f /backup/studentdb_backup.dump
2.使用gs_dump生成的归档文件恢复数据库

使用Linux用户omm,执行下面的命令,创建数据库用户pupil、表空间pupil_ts、数据库pupildb:

gsql -d postgres -p 26000 -r
CREATE USER pupil IDENTIFIED BY 'pupil@ustb2020';
ALTER USER pupil SYSADMIN;
CREATE TABLESPACE pupil_ts RELATIVE LOCATION 'tablespace/pupil_ts1';
CREATE DATABASE pupildb WITH TABLESPACE =pupil_ts;
\q

使用Linux用户omm,用数据库用户pupil登录到openGaussDBMS,执行上面用gs_dump生成的归档格式的数据库studentdb的备份,将数据恢复到数据库pupildb中:

gs_restore -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 /backup/studentdb_backup.dump

执行下面的命令,验证数据库studentdb的备份已经被恢复到数据库pupildb中:

gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"

四、清理工作

使用Linux用户omm,在Linux终端窗口执行下面的命令,清除任务数据:

gsql -d postgres -p 26000 -r
drop database pupildb;
drop tablespace pupil_ts;
drop user pupil;
\q
rm /backup/studentdb_backup.dump

网站公告

今日签到

点亮在社区的每一天
去签到