人大金仓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.mzph.cn/news/239416.shtml

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

相关文章

ECMAScript基础入门:猫头虎博主的技术分享

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Spring中你一定要知道的afterPropertiesSet()

文章目录 功能源码 功能 初始化bean执行的回调方法其一,它不像PostConstruct一样可以有多个,只能调用一次;它执行的时机是在PostConstruct之后,从它的名称也可以看出,他是在属性填充完,也就是bean初始化完…

实力强的大模型都有哪些超能力?

实力强的大模型都有哪些超能力? 前几日,人工智能研究公司OpenAI CEO山姆奥特曼(Sam Altman)在谈及人工智能这项技术的潜力以及人们对它的担忧时,曾表示“AI发展速度快得吓人,就像停不下来的龙卷风。”可见&…

如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用

Base 是 Coinbase 使用 OP Stack 开发的最新以太坊第 2 层(L2)网络,用于解决以太坊等主要区块链面临的可扩展性和成本挑战。Coinbase 将其描述为“安全、低成本、对开发人员友好的以太坊 L2,旨在将下一个 10 亿用户带入 Web3”。B…

一个抖店内做几个商品链接比较合适?解答下新手问题,建议收藏

我是王路飞。 一个抖店内的商品链接数量,是多一些比较好还是少一些比较好呢? 可能在大多数人看来,当然是多一些比较好了,商品数量更多,基数增加,也能承载更多的进店流量,增加下单几率。 但真…

【Kotlin】一款专门为 Java 程序员打造的快速掌握 Kotlin 技术博客

目录 初识 Kotlin 历史 工作原理 第一个Hello World! Kotlin 语法 变量 基本数据类型 函数 和 选择控制(if、when) if when 循环语句 类和对象 创建和使用 继承 构造 主构造 次构造 接口 定义 实现 权限修饰符 数据类…

VBA_MF系列技术资料1-247

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-04属于定…

在线客服系统推荐:优质选择助您提升客户服务体验

大部分企业依靠在线客服系统和客户达成联系,他为客户和企业之间建立了有效的沟通桥梁。市场上这么多的在线客服系统哪个好呢? 1、明确自己的需求。 这一点是最重要的,要先明确公司使用客服系统是想做售前咨询还是售后服务。不同的需求相对应…

鸿蒙开发之hdc命令行

一、简介 hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备进行交互。 二、环境准备 hdc工具通过HarmonyOS SDK获取,存放于SDK的toolchai…

JavaScript高级 函数进阶篇

函数进阶 1、函数的定义和调用 函数声明方式function关键字(命名函数);函数表达式(匿名函数);new Function()(此处的Function()是一个构造函数);var fn new Function(参…

六个探索性数据分析(EDA)工具,太实用了!

当进行数据分析时,探索性数据分析(EDA)是一个至关重要的阶段,它能帮助我们从数据中发现模式、趋势和异常现象。而选择合适的EDA工具又能够极大地提高工作效率和分析深度。在本文中,笔者将介绍6个极其实用的探索性数据分析(EDA)工具&#xff0…

和宝贝一起迎接冬日里的浪漫~优雅有气质

闪闪发光的刺绣亮片面料 自带闪光,是低调而浪漫的存在 蓬松拼接多层网纱 自带裙撑效果的网纱裙摆唯美飘逸 仿佛冬日里的小公主 热烈轻快的奔向即将到来的节日庆典

自媒体人福音,正版实用的视频素材网站~

大家平时在创作视频的时候,有没有苦恼过找不到合适的素材呢?网上能找到的大部分素材都是有版权的,不能随便乱用。今天我就来给大家推荐一些用于视频创作的正版素材网站,快快收藏吧! 1.制片帮素材 链接:stock.zhipianb…

Python实现广义最小二乘法线性回归模型(GLS算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 广义最小二乘法(Generalized Least Squares)是一种回归分析方法,适…

你知道海外云手机可以用于外贸测评吗?

目前随着外贸行业的发展,像亚马逊、速卖通、eBay等海外电商平台越来越火热。在这些平台,过硬的产品质量、优秀的服务、合适的价格,再加上适量的跨境电商测评,很容易就能吸引不少的客户。那么如何利用海外云手机进行外贸测评&#…

Python爬取电影天堂

前言: 本文非常浅显易懂,可以说是零基础也可快速掌握。如有疑问,欢迎留言,笔者会第一时间回复。 一、爬虫的重要性: 如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛通过网页的…

2. 行为模式 - 命令模式

亦称: 动作、事务、Action、Transaction、Command 意图 命令模式是一种行为设计模式, 它可将请求转换为一个包含与请求相关的所有信息的独立对象。 该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中, 且能实现可撤销…

C++之深拷贝进阶

目录 拷贝构造函数的深拷贝进阶版本 赋值运算符重载的深拷贝进阶 总结 上期我们学习了C中深拷贝的传统版本,今天我们将学习更为高效的版本。 拷贝构造函数的深拷贝进阶版本 传统版本代码如下: string(string& s):_str(new char[strlen(s._str)…

Docker——微服务的部署

Docker——微服务的部署 文章目录 Docker——微服务的部署初识DockerDocker与虚拟机Docker架构安装DockerCentOS安装Docker卸载(可选)安装docker启动docker配置镜像加速 Docker的基本操作Docker的基本操作——镜像Docker基本操作——容器Docker基本操作—…

进入不了Bios?进入Bios的方法都在这了,肯定能进!

前言 有些小伙伴可能在重装系统的第一步就卡住了,接着就放弃了。哇哈哈哈啊,先让小白笑会~ 根据小白十二年的装机经验,不同主板进入Bios的时候有不同的姿势。也许要蹲着大喊Bios才能进入呢?要不试试? 好了…