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. gentoo安装gcc出现error: C compiler cannot create executables

    安装程序  systemd 过程中,出现了error: C compiler cannot create executables 这类错误,经过检查,由于没有配置本地编译器的结果. 输入命令如下: g ...

  2. Linux SNMP监控配置

    1, 安装SNMP服务 [root@zlm log]# yum -y install net-snmp net-snmp-utils 2, 编辑SNMP配置文件[root@zlm log]# vim ...

  3. 手写spring的ioc的流程截图(笔记-1)

    spring ioc是什么? IoC 容器是 Spring 的核心,也可以称为 Spring 容器.Spring 通过 IoC 容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期. S ...

  4. Redis的五大数据类型(简单使用)

    1:Redis的简单介绍? Redis(Remote Dictionary Server ):即远程字典服务 是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型Key-Val ...

  5. 轻量化动态编译库 Natasha v8.0 正式发布!

    .NET8.0 与 动态编译 Hello 各位小伙伴,我于 2024年1月10日 发布了 Natasha 一个全新的里程碑版本 v8.0,对于老用户而言,此次发布版本号跨度较大,是因为我决定使用新的版 ...

  6. 计算机网络分层结构--OSI模型、TCP/IP 模型、五层模型

    计算机网络分层结构 OSI参考模型与TCP/IP参考模型 五层参考模型

  7. nacos系列:spring cloud使用nacos实现配置管理和服务发现

    目录 版本说明 创建项目 版本说明 IDEA:2021.3 Maven:3.6.3 Jdk:17 Spring-Boot:2.6.13 Spring-Cloud:2021.0.5 Spring-Clo ...

  8. 实战案例丨代码优化:如何去除context中的warning?

    在一个java语言群里面,有人抛了这么一段代码出来,问题是出现了下下图中的warning,问有什么好的方法消除 这种强转都是因为类型链条断掉了,写入的时候擦除了类型,读出来的时候也就只能强转了,那个i ...

  9. CG行业云渲染服务的演进之路

    摘要:影视动画.特效制作等行业渲染需求量增多,4K/6K以及各高分辨率会陆续成为主流,本地算力与存储资源已无法满足现有任务量.而随着大环境的演变,CG行业发展已进入发展快车道.来自赞奇科技的CEO金伟 ...

  10. 华为云MVP周峥:气象预报是个技术活,大数据、超算、AI,缺一不可

    摘要:在这样一个关乎民生的行业里,人工智能.大数据.超算这些技术,可发挥的潜力也是无限的,华为云MVP周峥就是其中的技术践行者,他正带领着团队为国内气象行业带来一股温柔而不失力量的春风. 本文分享自华 ...