当前位置: 首页 > article >正文

华为GaussDB数据库的手动备份与还原操作介绍

数据库的备份以A机上的操作为例。

1、使用linux的root用户登录到GaussDB服务器。

2、用以下命令切换到 GaussDB 管理员用户,其中,omm 为当前数据库的linux账号。

su - omm

3、执行gs_dump命令进行数据库备份:

这里使用gs_dump命令进行备份,在执行该命令前,可能会报一些动态链接库的错误,这些错误基本上是/usr/lib64下没有相应的软链接导致,可以用以方式先把软链接建好

特别注意:这里只是举例,你需要根据自己实际的问题来解决无法找到动态链接库的问题):

ln -s /gsdata/usr/local/core/app_8db8eac8/bin/script/gspylib/clib/libssl.so /usr/lib64/libssl.so
ln -s /gsdata/usr/local/core/app_8db8eac8/bin/script/gspylib/clib/libcrypto.so /usr/lib64/libcrypto.so
ln -s /gsdata/usr/local/core/app_8db8eac8/lib/libpq_ce.so.5.5 /usr/lib64/libpq_ce.so.5.5
ln -s /gsdata/usr/local/core/app_8db8eac8/lib/libcjson.so.1 /usr/lib64/libcjson.so.1
ln -s /gsdata/usr/local/core/app_8db8eac8/lib/libcom_err.so.3 /usr/lib64/libcom_err.so.3

动态链接库的问题解决后,执行以下命令就可以完成数据库备份操作了。

这里是备份成tar格式,这种格式对目标文件大小有限制:

gs_dump -U user1 -W 123456 -f /gsdata/bak/orgdb_bak.tar -p 8000 orgdb -F t

如果数据库很大,官方建议用二进制文件进行备份,如下所示:

gs_dump -h 192.168.5.147 -p 8000 orgdb -Z 1 -v -F c -f /gsdata/bak/orgdb_bak.dump

数据库的还原:

以B机上的操作为例。

1、使用linux的root用户登录到GaussDB服务器;

2、用以下命令切换到 GaussDB 管理员用户,其中,omm 为当前数据库的linux账号

su - omm

3、执行以下命令进行数据库还原:

注意,将会还原到名为targetdb数据库的orgdb模式下,如果还原到模式名为targetdb下时,还要继续执行第4步。

gs_restore -p 8000 -d targetdb /gsdata/bak/orgdb_bak.tar
Password:

输入数据库的root用户的密码后,开始执行导入。输出以下信息表示还原结束:

WARNING:  The SQL statement for creating an index is too long! Current length is 6096
31500 SQL statements read in !
31600 SQL statements read in !
31700 SQL statements read in !
31800 SQL statements read in !
Finish reading 31800 SQL statements!
end restore operation ...
WARNING: errors ignored on restore: 6
restore operation successful
total time: 805534  ms
[omm@gaussdb148 ~]$

4、如果对还原的数据库需要改模式(schema)名称,则需要按以下步骤进行:

1)基于linux名为omm的用户,执行以下命令进入数据库命令行管理界面:

gsql -d targdb -p8000 -U root
Password for user root:

2)删除targdb数据库下名为targdb的模式名:

drop schema targdb;

3)将targdb数据库下名为orgdb的模式改为 targdb 模式名:

alter schema orgdb rename to targdb;

4)为应用程序访问targdb的数据库用户dbuser2分配该schema的权限(这里默认dbuser2有targdb数据库的权限,如是没有则先完成对数据库的权限分配,此处仅对schema授权进行说明):

GRANT USAGE ON SCHEMA targdb TO dbuser2;
GRANT CREATE ON SCHEMA targdb TO dbuser2 ;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA targdb TO dbuser2 ;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA targdb TO dbuser2;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA targdb TO dbuser2;
ALTER DEFAULT PRIVILEGES IN SCHEMA  targdb GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO dbuser2;
ALTER DEFAULT PRIVILEGES IN SCHEMA  targdb GRANT USAGE, SELECT ON SEQUENCES TO dbuser2;
ALTER DEFAULT PRIVILEGES IN SCHEMA  targdb GRANT EXECUTE ON FUNCTIONS TO dbuser2;

至此,dbuser2就可以访问 targdb 数据库的 targdb 模式了。

 GaussDB的客户端访问工具:

可以使用DBeaver配合使用GaussDB的客户端JDBC驱动进行使用,GaussDB的客户端JDBC驱动下载地址:

https://download.csdn.net/download/runfarther/90539623


http://www.kler.cn/a/612210.html

相关文章:

  • C++List模拟实现|细节|难点|易错点|全面解析|类型转换|
  • ngx_http_index_t
  • Java 大视界 -- Java 大数据在智能政务公共服务资源优化配置中的应用(118)
  • 如何用 Postman 正确传递 Date 类型参数,避免服务器解析错误?
  • 什么是泛目录站群?怎么做好无极泛目录站群
  • Scala总结(一)
  • [计算机网络]网络I/O模型
  • Qt在模块依靠情况下资源文件名称和资源名称的使用限制
  • HTML 与 JavaScript 交互:学习进程中的新跨越(一)
  • 2025选择手机之我见
  • 抽象工厂设计模式及应用案例
  • 【MySQL】MySQL结构体系及核心组件功能是怎样的?
  • stm32week8
  • gogs私服搭建
  • 代码随想录算法训练营Day12 | Leetcode 226翻转二叉树、101对称二叉树、104二叉树的最大深度、111二叉树的最小深度
  • Eclipse IDE for ModusToolbox™ 3.4环境通过JLINK调试CYT4BB
  • 【408--复习笔记】数据结构
  • LeetCode19删除链表的倒数第N个结点
  • 单片机内存划分总览与介绍
  • 《Python实战进阶》No34:卷积神经网络(CNN)图像分类实战