KingbaseES逻辑备份还原工具提供了数据库对象一级的联机备份还原功能,备份对象包括:

数据库
模式

视图
约束
权限
触发器
函数
序列

逻辑备份的输出格式包括:

二进制
SQL脚本

此外,针对表数据,还支持多种格式的导出:

CSV
JSON
HTML

从而帮助用户可灵活调整、实施数据的备份计划。 在使用KingbaseES的备份、恢复功能时,需要注意:不建议在启用了“兼容异构数据库大小写不敏感”特性的数据库与没有启用“兼容异构数据库大小写不敏感”特性的数据库之间进行备份、恢复。

使用sys_dump进行备份

sys_dump 常用参数如下

-U username --username=username #要作为哪个用户连接。
-f file --file=file #将输出传输到指定文件。对于基于输出格式的文件这个参数可以被忽略,在那种情况下将使用标准输出。不过对于目录输出格式必须给定这个参数,在目录输出格式中指定的是一个目录而不是一个文件。在这种情况中,该目录会由sys_dump创建并且不需要以前就存在。不支持多个输出文件。
-F format --format=format #一次备份只可选择其中一种输出的格式。format可以是下列之一:
p plain #输出一个纯文本形式的SQL脚本文件(默认值)。
c custom #输出一个适合于作为sys_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已备份的项。这种格式在默认情况还会被压缩。
d directory #输出一个适合作为sys_restore输入的目录格式归档。这将创建一个目录,其中每个被备份的表和对象都有一个文件,外加一个目录文件,该文件以一种sys_restore能读取的机器可读格式描述被备份的对象。一个目录格式归档能用标准Unix工具操纵,例如一个未压缩归档中的文件可以使用gzip工具压缩。这种格式默认情况下是被压缩的并且也支持并行备份。
t tar 输出一个适合于输入到sys_restore中的 tar 格式归档。tar格式可以兼容目录格式,抽取一个tar格式的归档会产生一个合法的目录格式归档。不过,tar格式不支持压缩。还有,在使用tar格式时,表数据项的相对顺序不能在恢复过程中被更改。
-d dbname --dbname=dbname #指定要连接到的数据库名。这等效于指定dbname为命令行上的第一个非选项参数。如果这个参数包含一个=符号或者以一个合法的URI前缀(kingbase://或kingbase://)开始,它将被视作一个conninfo字符串。
-h host --host=host #指定服务器正在运行的机器的主机名。如果该值开始于一个斜线,它被用作一个Unix域套接字的目录。
-p port --port=port #指定服务器正在监听连接的TCP端口或本地Unix域套接字文件扩展名。默认使用编译在程序中的默认值。
-E encoding --encoding=encoding #以指定的字符集编码创建备份。在默认情况下,该备份会以该数据库的编码创建。
-n schema --schema=schema #只备份匹配schema的模式,这会选择模式本身以及它所包含的所有对象。当没有指定这个选项时,目标数据库中所有非系统模式都将被备份。多个模式可以通过书写多个-n开关来选择。另外,schema参数可以被解释为一种根据ksql's \d命令所用的相同规则(见 模式(Pattern) )编写的模式,这样多个模式也可以通过在该模式中书写通配字符来选择。在使用通配符时,如果需要阻止 shell 展开通配符需要小心引用该模式,见 实例。
-N schema --exclude-schema=schema #不备份匹配schema模式的任何模式。该模式被根据-n所用的相同规则被解释。-N可以被给定多次来排除匹配几个模式中任意一个的模式。当-n和-N都被给定时,该行为是只备份匹配至少一个-n开关但是不匹配-N开关的模式。如果只有-N而没有-n,那么匹配-N的模式会被从一个正常备份中排除。
-s --schema-only #只备份对象定义(模式),而非数据。这个选项是--data-only的逆选项。它和指定--section=pre-data --section=post-data相似,但是由于历史原因又不完全相同。(不要把这个选项和--schema选项混淆,后者在"schema"的使用上有不同的含义)。要为数据库中表的一个子集排除表数据,见--exclude-table-data。
-t table --table=table #只备份名字匹配table的表,"table"还可以包括视图、物化视图、序列和外部表。通过写多个-t开关可以选择多个表。另外,table参数可以被解释为一种根据ksql's \d命令所用的相同规则(见 模式(Pattern) )编写的模式,这样多个表也可以通过在该模式中书写通配字符来选择。在使用通配符时,如果需要阻止shell展开通配符需要小心引用该模式,见 实例_ 。当-t被使用时,-n和-N开关不会有效果,因为被-t选择的表将被备份而无视那些开关,并且非表对象将不会被备份。
-T table --exclude-table=table #不备份匹配table模式的任何表。该模式被根据-t所用的相同规则被解释。-T可以被给定多次来排除匹配几个模式中任意一个的模式。当-t和-T都被给定时,该行为是只备份匹配至少一个-t开关但是不匹配-T开关的表。如果只有-T而没有-t,那么匹配-T的表会被从一个正常备份中排除。
  1. -t开关的行为不完全向前兼容V8之前的KingbaseES版本。以前,写-t tab将备份所有命名为tab的表,但现在它仅仅备份在你默认搜索路径中可见的那一个。要得到旧的行为,可以写成-t ‘*.tab’。还有,必须写类似-t sch.tab的东西来选择一个特定模式中的一个表,而不是用老的惯用语-n sch -t tab。
  2. 若指定给了-t,就忽略-n。若-t、 -n都没有指定,就备份所有对象。
  3. 在大小写敏感的数据库里,在备份小写的表名/模式名对象或者表名中有特殊字符时,表名/模式名应该用单引号括起来。例如:表t可以写成"t"或"T",但表"t"应写成’“t”’;有特殊字符的表"t.t"应写成’“t.t”’;表"sc"."t.t"应写成’“sc”’.’“t.t”’。

更多详细参数请参考官方文档:sys_dump备份工具

备份二进制文件:

#备份TEST库
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F c -f /home/kingbase/test.dmp TEST
#备份TEST库下的test模式
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F c -n test -f /home/kingbase/test.dmp TEST
#备份TEST库下的test模式的test表
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F c -t test.test -f /home/kingbase/test.dmp TEST

备份sql文件:

#备份TEST库
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F p -f /home/kingbase/test.sql TEST
#备份TEST库下的test模式??
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F p -n test -f /home/kingbase/test.sql TEST
#备份TEST库下的test模式的test表?
/home/kingbase/ES/V8/Server/bin/sys_dump -U username -F p -t test.test -f /home/kingbase/test.sql TEST

数据库还原

还原DMP(二进制)文件。

#还原TEST库
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -d TEST /home/kingbase/test.dmp
#还原TEST库下的test模式
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -n test -d TEST /home/kingbase/test.dmp
#还原TEST库下的test模式的test表
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -t test.test -d TEST /home/kingbase/test.dmp

还原SQL文件

#还原TEST库
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -d TEST /home/kingbase/test.sql
#还原TEST库下的test模式
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -n test -d TEST /home/kingbase/test.sql
#还原TEST库下的test模式的test表
/home/kingbase/ES/V8/Server/bin/sys_restore -U username -t test.test -d TEST /home/kingbase/test.sql

还原sql文件(R3下可用)

ksql -U username -f /home/kingbase/test.sql -d TEST 
  • 1
文章知识点与官方知识档案匹配,可进一步学习相关知识

[转帖]【KingbaseES】sys_dump逻辑备份工具详解的更多相关文章

  1. [转帖]前端-chromeF12 谷歌开发者工具详解 Network篇

    前端-chromeF12 谷歌开发者工具详解 Network篇 https://blog.csdn.net/qq_39892932/article/details/82493922 blog 也是原作 ...

  2. [转帖]前端-chromeF12 谷歌开发者工具详解 Sources篇

    前端-chromeF12 谷歌开发者工具详解 Sources篇 原贴地址:https://blog.csdn.net/qq_39892932/article/details/82498748 cons ...

  3. [转帖]前端-chromeF12 谷歌开发者工具详解 Console篇

    前端-chromeF12 谷歌开发者工具详解 Console篇 https://blog.csdn.net/qq_39892932/article/details/82655866 趁着搞 cloud ...

  4. MySQL 逻辑备份工具

    简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyIS ...

  5. MySQL数据备份之逻辑备份工具mysqldump

    #前言:我们知道对数据进行备份很重要,出现非正常操作可以进行对数据进行恢复,下面我们就来使用一下mysql数据库自带的一个逻辑备份工具mysqldump 1.简单概述 #mysqldump:mysql ...

  6. MongoDB 逻辑备份工具mongodump

    mongodump是官方提供的一个对数据库进行逻辑导出的备份工具,导出文件为BSON二进制格式,无法使用文本编辑工具直接查看.mongodump可以导出mongod或者mongos实例的数据,从集群模 ...

  7. 官方出品,比 mydumper 更快的逻辑备份工具

    mysqldump 和 mydumper 是我们常用的两个逻辑备份工具. 无论是 mysqldump 还是 mydumper 都是将备份数据通过 INSERT 的方式写入到备份文件中. 恢复时,myl ...

  8. (转)MySQL备份原理详解

    MySQL备份原理详解 原文:http://www.cnblogs.com/cchust/p/5452557.html 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之 ...

  9. MySQL备份原理详解

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  10. mysql备份恢复详解

    前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lv ...

随机推荐

  1. [极客大挑战 2019]EasySQL 1

    [极客大挑战 2019]EasySQL 1 观察题目,发现为登录界面,判断这道题的考点是SQL注入. 知识点 万能密码 知识点原理 当用户尝试登录时 网站后台会进行SQL查询,比如 [select * ...

  2. 2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b c d e f g h i e是中心点,依次打印 : e f i h g

    2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b c d e f g h i e是中心点,依次打印 : e f i h g ...

  3. Provider MVVM架构

    MVVM架构分为M(Model).V(View).VM(ViewModel)三个部分,他们分别处理自己的分工,在View和Model之间使用ViewModel作为中介者,使View和Model不受业务 ...

  4. GDAL数据集写入空间坐标参考

    目录 1. 概述 2. 栅格数据 3. 矢量数据 1. 概述 可以通过GDAL给地理数据写入空间参考信息,不过要注意的是GDAL给矢量数据和栅格数据写入空间坐标参考的接口不太一样. 2. 栅格数据 实 ...

  5. 如何通过jstat命令进行查看堆内存使用情况?

    摘要:jstat命令可以查看堆内存各部分的使用量,以及加载类的数量. 本文分享自华为云社区<JVM之通过jstat命令进行查看堆内存使用情况>,作者:共饮一杯无 . 基本概念 jstat是 ...

  6. 论文复现丨基于ModelArts进行图像风格化绘画

    摘要:这个 notebook 基于论文「Stylized Neural Painting, arXiv:2011.08114.」提供了最基本的「图片生成绘画」变换的可复现例子. 本文分享自华为云社区& ...

  7. 云图说|ROMA演进史:一个ROMA与应用之间不得不说的故事

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云ROMA源 ...

  8. 传统到敏捷的转型中,谁更适合做Scrum Master?

    摘要:本文主要讲述的是从传统到敏捷Scrum团队转型中,对Scrum Master这一角色的分析. 本文分享自华为云社区<传统到敏捷的转型中,谁更适合做Scrum Master?>,作者: ...

  9. Axure 快速回到原点

    如果点了[快速回到原点]不生效,可能是因为输入法导致.

  10. PPT 如何将大段WORD制作成PPT

    PPT 如何将大段WORD制作成PPT 标记等级 发送到PPT 图片.表格,无法发送