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

前言

最近在项目开发过程中,使用了国产数据库人大金仓(即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.hqwc.cn/news/294299.html

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

相关文章

Pytorch项目,肺癌检测项目之二

diameter_dict{} with open(/xunlian/annotations.csv ,‘r’) as f: for row in list(csv.reader(f)[1:]): series_uid row[0] annotationCenter_xyz tuple([float(x) for x in row[1:4]]) annotationDiameter_mm float(row[4]) diameter_dict.setdefault(seri…

HTML5文档

目录 HTML5文档结构1.HTML5页面结构2.HTML5新增结构元素 HTML5新增页面元素1.hgroup标记2.figure标记与figcaption标记3.mark标记与time标记4.details标记与summary标记5.progress标记与meter标记6.input标记与datalist标记 HTML5文档结构 HTML5文档结构同样是由头部和主体两部…

【Spring实战】配置多数据源

文章目录 1. 配置数据源信息2. 创建第一个数据源3. 创建第二个数据源4. 创建启动类及查询方法5. 启动服务6. 创建表及做数据7. 查询验证8. 详细代码总结 通过上一节的介绍,我们已经知道了如何使用 Spring 进行数据源的配置以及应用。在一些复杂的应用中,…

MATLAB Mobile - 使用预训练网络对手机拍摄的图像进行分类

系列文章目录 前言 此示例说明如何使用深度学习对移动设备摄像头采集的图像进行分类。 在您的移动设备上安装和设置 MATLAB Mobile™。然后,从 MATLAB Mobile 的“设置”登录 MathWorks Cloud。 在您的设备上启动 MATLAB Mobile。 一、在您的设备上安装 MATLAB M…

[JS设计模式]Flyweight Pattern

Flyweight pattern 享元模式是一种结构化的设计模式,主要用于产生大量类似对象而内存又有限的场景。享元模式能节省内存。 假设一个国际化特大城市SZ;它有5个区,分别为nanshan、futian、luohu、baoan、longgang;每个区都有多个图…

MyBatis关联查询(二、一对多查询)

MyBatis关联查询(二、一对多查询) 需求:查询所有用户信息及用户关联的账户信息。 分析:用户信息和他的账户信息为一对多关系,并且查询过程中如果用户没有账户信息,此时也要将用户信息查询出来&#xff0c…

C++20形式的utf-8字符串转宽字符串,不依赖编译器编码形式

默认的char[]编码都是要看编译器编译选项的,你选了ANSI那它就是ANSI,你选了UTF8那它就是UTF8. 【注意:经典DevC只支持ANSI编码(痛苦);上图是小熊猫DevC,则有这个选项】 这一点对我的代码造成了…

vp与vs联合开发-网口通信(socket)

Socket通信是一种在网络中进行进程间通信的机制。它使用了一种称为套接字(Socket)的编程接口,通过该接口可以创建、连接、发送和接收数据等操作。 Socket通信中,有两个主要的角色:服务器和客户端。服务器负责监听指定…

十三、W5100S/W5500+RP2040之MicroPython开发<MQTT新版OneNET示例>

文章目录 1. 前言2. 平台操作流程3. WIZnet以太网芯片4. 示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPython和树莓派PICO正以其独特的优势引领着嵌入式开发…

【基于激光雷达的路沿检测用于自动驾驶的真值标注】

文章目录 概要主要贡献内容概述实验小结 概要 论文地址:https://arxiv.org/pdf/2312.00534.pdf 路沿检测在自动驾驶中扮演着重要的角色,因为它能够帮助车辆感知道可行驶区域和不可行驶区域。为了开发和验证自动驾驶功能,标注的数据是必不可…

VideoPoet: Google的一种用于零样本视频生成的大型语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作 因为时间的关系,我想到哪说到哪,可能没那么高的完成度。 但其实有心的人,看到这个标题,就关了本文自己能做了。 why和how to build debug version DPDK,见前两篇。这里我们准备开始。 首先,你有一台linux机…