人大金仓Kingbase数据库备份和还原

news2025/1/19 23:06:34

前言

最近在项目开发过程中,使用了国产数据库人大金仓(即Kingbase数据库),在使用过过程中需要对数据库进行备份与还原,在此对相关的命令进行简单介绍,以备不时之需。
Linux环境下安装人大金仓可参考此篇文章:Linux环境下安装人大金仓数据库

命令介绍

人大金仓中的备份命令为 sys_dump,数据还原的方式有两种,分别是ksqlsys_restore命令,下面对这几个命令分别进行介绍。

备份命令sys_dump

sys_dump 是用于备份 KingbaseES 数据库的工具。根据官网介绍,即使数据库目前正在并发使用,它也能创建一致的备份。sys_dump 不阻塞其他用户访问数据库(读取或写入)。

使用sys_dump时,需要进入到数据库安装路径下的Server/bin 目录下执行。人大金仓的默认安装路径为 /opt/Kingbase/ES/V8,如下所示:
在这里插入图片描述
执行sys_dump命令时需要进入到Server/bin目录下执行。

sys_dump 命令可以将数据备份为SQL脚本文件和dump归档文件。

  • 如下示例备份为sql脚本文件:
./sys_dump -h 127.0.0.1 -p 54321 -d db_demo -U system  -f /opt/backup/db_demo.sql
  • 如下示例备份为dump归档文件:
./sys_dump -h 127.0.0.1 -p 54321 -d db_demo -U system -Fc -f /opt/backup/db_demo.dump

备份dump文件时 最好加上 -Fc 参数,否则在使用sys_restore命令进行还原时会出现如下提示:

# 输入文件显示为文本格式转储。请使用ksql
sys_restore: error: input file appears to be a text format dump. Please use ksql.

其它都一样,只是后缀名不同。

执行上诉命令后,需要输入相关用户对应的密码,如上需要输入system对应的密码。
在这里插入图片描述
以上命令是没有任何信息输出的,如果想查看输出的信息,可以使用标准输出将内容写入文件(前提是有输出),如下所示:

./sys_dump -h 127.0.0.1 -p 54321 -d db_demo -U system  -f /opt/backup/db_demo.dump >> /opt/backup/backup.log

查看 log文件内容即可。

命令各参数介绍

  • -h:Kingbase服务器IP地址;
  • -p:Kingbase监听端口号;
  • -d:指定要连接到的数据库名;
  • -U:要使用哪个用户连接;(Kingbase可以创建多个用户,可以使用默认的system,也可以使用其他自建用户)。
  • -Fc:-F即format,也即选择输出的格式,有多种值,其中两种如下,其他的不再介绍,可查看下方官网文档。
    • p:plain,输出一个纯文本形式的 SQL 脚本文件(默认值)。
    • c:custom,输出一个适合于作为 sys_restore 输入的自定义格式归档。
  • -f:将输出写到指定目录下的某个文件,该参数配合自定义目录使用。

说明:其他命令的配置项基本相同,后续不再赘述!

上诉命令执行完成后,会在指定目录生成db.demo.sql文件,此时说明已经备份完成。

sys_dump 更多信息请查看官网介绍

还原命令

人大金仓中,sys_restore 命令和 ksql 命令都可以进行数据还原。只是有一些区别,下边详细说。

sys_restore命令

sys_restore 可以从由 sys_dump命令创建的dump归档文件还原数据库数据。该命令需要在安装路径下的Server/bin 目录下执行。

  • 首先使用sys_dump命令备份dump文档文件
./sys_dump -h 127.0.0.1 -p 54321 -d db_demo -U system -Fc  -f /opt/backup/db_demo.dump >> /opt/backup/backup.log
  • 使用sys_restore 命令进行数据还原

还原时会打出信息到标准输出上,可以使用文件进行接收。

./sys_restore -h 127.0.0.1 -p 54321 -d db_demo -U system /opt/backup/db_demo.dump >> /opt/backuo/restore.log  2>&1

执行命令、输入密码后即可成功还原数据。

那么sys_restore 能否还原SQL文件呢,试一下便知!

./sys_restore -h 127.0.0.1 -p 54321 -d db_demo -U system /opt/backup/db_demo.sql >> /opt/backuo/restore.log  2>&1

经过测试,sys_restore 命令也可以还原sql脚本文件。

更多sys_restore命令详细内容请参考官方文档

ksql

Ksql 是 KingbaseES 数据库的主要命令行界面。可以使用 Ksql 设置数据库初始化参数、创建和管理用户、创建和更改数据库对象 (例如表和索引)、插入和更新数据、运行 SQL 查询等等。当然也可以使用 Ksql 连接到 KingbaseES 数据库实例。

  • 使用ksql还原sql脚本文件
./ksql -h "127.0.0.1" -p 54321 -d db_demo -U ledger -f /opt/backup/db_demo.sql >> /opt/backup/ksql_restore.log   2>&1 
  • 使用ksql还原dump文件
./ksql -h "127.0.0.1" -p 54321 -d db_demo -U ledger -f /opt/backup/db_demo.dump >> /opt/backup/ksql_restore.log 2>&1 

在使用ksql进行还原时请注意,如果你还原的文件是 通过sys_dump 命令 并且加了 -F(format --format=format) 参数的,那么就不能通过ksql进行还原,而是要通过sys_restore命令进行还原,否则会报如下信息:

# 输入是Kingbase自定义格式转储。
The input is a Kingbase custom-format dump.
# 使用sys_restore命令行客户端将此转储还原到数据库。
Use the sys_restore command-currLine client to restore this dump to a database.

通过 sys_dump 命令备份时不加 -F(format --format=format) 参数,不管是SQL脚本文件还是dump归档文件都是可以通过ksql进行还原恢复的,注意此区别。

简单记录,以备不时之需!

如有帮助,还请多多点赞、收藏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1330931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s部署elastic+kibana

1.软件版本说明 1.1软件版本说明 软件版本kubernetes1.23.17elasticsearch7.17.3kibana7.17.3 1.2硬件环境说明 宿主机使用windows10安装vmware17.5.0,虚拟机安装linux系统(centos7.9) 说明: elasticserch和kibana的版本尽量…

邦火策划的餐饮品牌策划,到底是不是打破常规的创新之选?

在餐饮业的浩瀚市场中,邦火策划以其独特的餐饮品牌策划服务,引起了业界的关注。邦火策划是否真的是打破常规的创新之选?让我们深入了解,探寻其中的奥秘。 首先,邦火策划在餐饮品牌策划中的创新之处在于对市场的深度洞…

【IDEA】try-catch自动生成中修改catch的内容

编辑器 --> 文件和代码模板 --> 代码 --> Catch Statement Body

又老性能又差,为什么好多公司依然选择 RabbitMQ?

大家好,我是君哥。 RabbitMQ 这个消息队列相信很多程序员都用过,我第一次使用是在 2016 年,确实是一个老牌的消息队列了,但是为什么一直没有被淘汰呢?今天来聊一聊这个话题。 老旧差 发布历史 为什么说 RabbitMQ 老…

drools入门案例

1 业务场景说明 业务场景:消费者在图书商城购买图书,下单后需要在支付页面显示订单优惠后的价格。具体优惠规则如下: 规则编号 规则名称 描述 1 规则一 所购图书总价在100元以下的没有优惠 2 规则二 所购图书总价在100到200元的优惠2…

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念,旨在为开源组织和开…

Linux常用基本命令(三)

一、显示命令 1. cat 通式:cat 选项 文件名 只能看普通的文本文件 缺点:如果内容过多会显示不全 选项效果-n显示行号包括空行-b跳过空白行编号-s讲所有的连续的多个空行替换为一个空行(压缩成一个空行)-A显示隐藏字符 三个标准文件…

SpringBoot的配置高级

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…

前端基础location的使用

概念 获取当前页面的地址信息,还可以修改某些属性,实现页面跳转和刷新等。 样例展示 window.location 含义.originURL 基础地址,包括协议名、域名和端口号.protocol协议 (http: 或 https:).host域名端口号.hostname域名.port端口号.pathname路…

原型链污染[JavaScript]

一、原型链污染 此类型一般存在以nodejs编写的后端程序当中,其中Express是一个流行的Node.js Web应用程序框架 1.JavaScript 1.1 原理 引入 解释:直接先读代码来理解原型链污染 // let jack {b:2} console.log(typeof jack) // 它的类型是obejct con…

C++结合OpenCV:掌握图像基础与处理

本文详细介绍了使用 OpenCV4 进行图像处理的基础知识和操作。内容包括图像的基础概念、色彩空间理解、以及如何在 C 中进行图像读取、显示和基础操作。 1.图像的基本概念与术语 图像表示 在计算机视觉中,图像通常表示为一个二维或三维的数组。二维数组表示灰度图像&…

Linux 磁盘空间占满故障解决方法

故障排查: 使用命令查看磁盘使用量 # 使用人类可读的格式(预设值是不加这个选项的...) df -h # --inodes 列出 inode 资讯,不列出已使用 block df -i # 查看当前目录下各个文件及目录占用空间大小 du -sh / 情况一:一般磁盘空间满了&a…

redis常见数据类型

目录 1.基本全局命令 2.数据结构和内部编码 3.单线程架构 1.基本全局命令 Redis有5种数据结构,但它们都是键值对种的值,对于键来说有一些通用的命令。 KEYS 返回所有满足样式(pattern) 的key。支持如下统配样式。 h?llo 匹配 hello, hallo和hxllo h*llo匹配h…

C++内存管理和模板初阶

C/C内存分布 请看代码: int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)mallo…

1982-2022年的GIMMIS-NDVI数据

GIMMIS-NDVI简单介绍 NDVI 基于先进高分辨率辐射计 (AVHRR) 数据的校正和校准测量,空间分辨率为 0.0833 度,覆盖 1982 年至 2022 年的全球范围。最大 NDVI 值在每月两次合成周期内报告(每月两个值)。该数据集由不同的 AVHRR 传…

SpringIOC之SimpleTimeZoneAwareLocaleContext

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

宽带阻抗匹配的工程实现-第一步,端口驻波仿真

概要 ADS仿真,Matlab仿真,宽带阻抗匹配,smith圆图。 其实阻抗匹配我工作以来经常说,也经常做,但是基本上都是直接在印制板上进行调试。现在想先用仿真软件直接设计出来,才发现很多东西嘴上说容易&#xf…

【RabbitMQ】RabbitMQ详解(一)

RabbitMQ详解 RabbitMQ介绍四大核心概念RabbitMQ 入门案例Hello RabbitMQ生产者消费者 Work Queues轮询消费 RabbitMQ消息应答与发布自动应答手动应答的方法肯定确认应答否定确认应答拒绝处理该消息恢复到消息队列Multiple的解释消息重新入队手动应答案例 RabbitMQ持久化队列持…

绝对干货-讲讲设计模式之结构型设计模式

经典的23种设计模式种属于结构型设计模式的是装饰模式,适配器模式,代理模式,组合模式,桥接模式,外观模式,享元模式。 如果说创建型设计模式解决的是创建对象的问题,那么结构型模式就是通过类和…

二叉搜索树 --- C++实现

目录 1.二叉搜索树的概念 2.二叉搜索树的操作 3. 二叉树的实现 4.二叉搜索树的应用 5. 二叉树的性能分析 6. 二叉树进阶练习题 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左…