openGauss开源数据库实战二十六

文章目录

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

任务目标

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

实施步骤

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

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

bash 复制代码
su -
mkdir /backup
chown omm.dbgrp /backup
exit

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

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

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

bash 复制代码
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:

sql 复制代码
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中:

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

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

sql 复制代码
gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"

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

sql 复制代码
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,执行下面的命令,生成归档格式的备份文件:

sql 复制代码
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:

sql 复制代码
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中:

sql 复制代码
gs_restore -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 /backup/studentdb_backup.dump

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

sql 复制代码
gsql -d pupildb -h 192.168.100.91 -U pupil -p 26000 -W pupil@ustb2020 -c "\dt"

四、清理工作

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

sql 复制代码
gsql -d postgres -p 26000 -r
drop database pupildb;
drop tablespace pupil_ts;
drop user pupil;
\q
rm /backup/studentdb_backup.dump
相关推荐
钢铁男儿3 分钟前
C# 方法(可选参数)
数据库·mysql·c#
陆少枫24 分钟前
MySQL基础关键_013_常用 DBA 命令
数据库·mysql
赵渝强老师39 分钟前
【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统
数据库·postgresql
智_永无止境1 小时前
Redis 8.0携新功能,重新开源
数据库·redis·开源
阿乾之铭1 小时前
Spring Boot 参数验证
java·数据库·mysql
唐人街都是苦瓜脸2 小时前
MySQL创建了一个索引表,如何来验证这个索引表是否使用了呢?
数据库·mysql
前进的程序员2 小时前
SQLite 数据库常见问题及解决方法
数据库·sqlite
zhcong_2 小时前
MySQL数据库操作
数据库·mysql
极小狐4 小时前
极狐GitLab 容器镜像仓库功能介绍
java·前端·数据库·npm·gitlab
极小狐4 小时前
如何构建容器镜像并将其推送到极狐GitLab容器镜像库?
开发语言·数据库·机器学习·gitlab·ruby