华为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.rhkb.cn/news/42311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot学习笔记3.27

目录 实战篇第二课 1.注册参数的校验: 学习过程中遇到的问题: 1.什么是正则表达式 2.怎么自定义异常? 1. 创建全局异常处理类 2. 定义响应对象 3. 使用 ExceptionHandler 4. 设置响应状态码 5. 返回统一响应 6. 测试全局异常处理 …

基于springboot+vue的游戏账号交易系统的设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

小测验——合并多个网格文件调用相机参数进行适配

文章目录 一、前言1.1 对于rule1.2 对于ask、agent、edit1.3 对于没有notepad二、代码展示一、前言 1.1 对于rule 对于.cursorrules里面的文件内容,就是从提示词、项目简介、技术架构、目录结构、代码规范这几方面进行介绍 1.2 对于ask、agent、edit 切换模式在聊天框下方…

敏捷测试(Agile Testing)

敏捷测试(Agile Testing) 敏捷测试是在敏捷开发(Agile Development)环境下进行的软件测试方法,强调快速反馈、持续测试、团队协作,以确保软件质量贯穿整个开发周期。与传统瀑布模型不同,敏捷测…

FreeRTOS内核实现与应用学习之6——多优先级

在FreeRTOS中,数字优先级越小,逻辑优先级也越小;在任务创建时,会根据任务的优先级将任务插入就绪列表不同的位置。 相同优先级的任务插入就绪列表中的同一条链表中。 要想任务支持优先级,即只要实现在任务切换&#xf…

【C++篇】C++入门基础(二)

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对C感兴趣的…

Mysql架构之日志讲解:redo log,undo log,bin log 日志

一、buffer pool缓冲区 讲日志之前,我们要先认识一下buffer pool缓冲区。 mysql想完成数据的修改,会先从存储引擎层读取数据,把数据读取到服务层进行数据的修改,再通过存储引擎层把数据更新到数据库中。 mysql每次读取数据都会…

容器主机CPU使用率突增问题一则

关键词 LINUX、文件系统crontab 、mlocate根目录使用率 There are many things that can not be broken! 如果觉得本文对你有帮助,欢迎点赞、收藏、评论! 一、问题现象 业务一台容器服务器,近期经常收到cpu不定期抖动告警&#x…

simpleITK - Setup - matplotlib‘s imshow

使用 matplotlib 显示内联图像 在此笔记本中,我们将探索使用 matplotlib 显示笔记本中的图像,并致力于开发可重复使用的函数来显示 SimpleITK 图像的 2D、3D、颜色和标签叠加层。 我们还将研究使用需要输入图像重叠的图像过滤器的微妙之处。 %matplot…

Github 热点项目 awesome-mcp-servers MCP 服务器合集,3分钟实现AI模型自由操控万物!

【今日推荐】超强AI工具库"awesome-mcp-servers"星数破万! ① 百宝箱式服务模块:AI能直接操作浏览器、读文件、连数据库,比如让AI助手自动整理Excel表格,三分钟搞定全天报表; ② 跨领域实战利器:…

硬件老化测试方案的设计误区

硬件老化测试方案设计中的常见误区主要包括测试周期不足、测试条件过于单一、样品选择不当等方面。其中,测试周期不足尤为突出,容易导致潜在缺陷未被完全暴露。老化测试本质上是通过加速产品老化来模拟长期使用状况,因此测试周期不足会严重削…

CSS学习笔记5——渐变属性+盒子模型阶段案例

目录 通俗易懂的解释 渐变的类型 1、线性渐变 渐变过程 2、径向渐变 如何理解CSS的径向渐变,以及其渐变属性 通俗易懂的解释 渐变属性 1. 形状(Shape) 2. 大小(Size) 3. 颜色停靠点(Color Sto…

Java StringUtils工具类常用方法详解

StringUtils是Apache Commons Lang库中一个极其常用的工具类,它提供了大量处理字符串的静态方法,能够简化我们的日常开发工作,提高代码的可读性和健壮性。下面我将详细介绍StringUtils类中最常用的方法及其使用场景。 一、StringUtils的基本…

设计模式(创建型)- 原型模式

目录 定义 类图 角色 优缺点 优点 缺点 应用场景 案例展示 浅克隆 深克隆 定义 原型模式旨在创建重复的对象,同时确保良好的性能表现。它通过复制现有对象(原型)来创建新对象,而非使用传统的构造函数创建方式。这种设计…

MQ的数据一致性,如何保证?

1 数据一致性问题的原因 这些年在Kafka、RabbitMQ、RocketMQ踩过的坑,总结成四类致命原因: 生产者悲剧:消息成功进Broker,却没写入磁盘就断电。消费者悲剧:消息消费成功,但业务执行失败。轮盘赌局&#x…

Angular由一个bug说起之十五:自定义基于Overlay的Tooltip

背景 工具提示(tooltip)是一个常见的 UI 组件,用于在用户与页面元素交互时提供额外的信息。由于angular/material/tooltip的matTooltip只能显示纯文本,所以我们可以通过自定义Directive来实现一个灵活且功能丰富的tooltip Overlay…

简单介绍一下Unity中的ScriptableObject

ScriptableObject的本质 ScriptableObject是Unity引擎中的一个特殊基类,允许你创建不依附于游戏对象的数据容器,以资产(Asset)形式存储在项目中。这些资产: 可在编辑器中创建和配置 在构建后作为资产打包 可通过Resources或AssetBundle加…

ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动

https://www.nvidia.cn/drivers/details/242281/ 上面是下载地址 sudo chmod x NVIDIA-Linux-x86_64-570.133.07.run # 赋予执行权限把下载的驱动复制到家目录下,基本工具准备,如下 sudo apt update sudo apt install build-essential libglvnd-dev …

LabVIEW 布尔控件回车键触发程序退出

在 LabVIEW 开发过程中,部分用户可能会遇到按下回车键(Enter)后,程序意外退出的问题。该问题主要源于布尔控件的属性设置冲突,包括键分配、数据绑定及 Tab 键行为等。本文将详细分析问题根源,并提供一套完整…

分布式系统面试总结:3、分布式锁(和本地锁的区别、特点、常见实现方案)

仅供自学回顾使用,请支持javaGuide原版书籍。 本篇文章涉及到的分布式锁,在本人其他文章中也有涉及。 《JUC:三、两阶段终止模式、死锁的jconsole检测、乐观锁(版本号机制CAS实现)悲观锁》:https://blog.…