[转帖]【KingbaseES】sys_dump逻辑备份工具详解
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的表会被从一个正常备份中排除。
- -t开关的行为不完全向前兼容V8之前的KingbaseES版本。以前,写-t tab将备份所有命名为tab的表,但现在它仅仅备份在你默认搜索路径中可见的那一个。要得到旧的行为,可以写成-t ‘*.tab’。还有,必须写类似-t sch.tab的东西来选择一个特定模式中的一个表,而不是用老的惯用语-n sch -t tab。
- 若指定给了-t,就忽略-n。若-t、 -n都没有指定,就备份所有对象。
- 在大小写敏感的数据库里,在备份小写的表名/模式名对象或者表名中有特殊字符时,表名/模式名应该用单引号括起来。例如:表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逻辑备份工具详解的更多相关文章
- [转帖]前端-chromeF12 谷歌开发者工具详解 Network篇
前端-chromeF12 谷歌开发者工具详解 Network篇 https://blog.csdn.net/qq_39892932/article/details/82493922 blog 也是原作 ...
- [转帖]前端-chromeF12 谷歌开发者工具详解 Sources篇
前端-chromeF12 谷歌开发者工具详解 Sources篇 原贴地址:https://blog.csdn.net/qq_39892932/article/details/82498748 cons ...
- [转帖]前端-chromeF12 谷歌开发者工具详解 Console篇
前端-chromeF12 谷歌开发者工具详解 Console篇 https://blog.csdn.net/qq_39892932/article/details/82655866 趁着搞 cloud ...
- MySQL 逻辑备份工具
简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyIS ...
- MySQL数据备份之逻辑备份工具mysqldump
#前言:我们知道对数据进行备份很重要,出现非正常操作可以进行对数据进行恢复,下面我们就来使用一下mysql数据库自带的一个逻辑备份工具mysqldump 1.简单概述 #mysqldump:mysql ...
- MongoDB 逻辑备份工具mongodump
mongodump是官方提供的一个对数据库进行逻辑导出的备份工具,导出文件为BSON二进制格式,无法使用文本编辑工具直接查看.mongodump可以导出mongod或者mongos实例的数据,从集群模 ...
- 官方出品,比 mydumper 更快的逻辑备份工具
mysqldump 和 mydumper 是我们常用的两个逻辑备份工具. 无论是 mysqldump 还是 mydumper 都是将备份数据通过 INSERT 的方式写入到备份文件中. 恢复时,myl ...
- (转)MySQL备份原理详解
MySQL备份原理详解 原文:http://www.cnblogs.com/cchust/p/5452557.html 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之 ...
- MySQL备份原理详解
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...
- mysql备份恢复详解
前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lv ...
随机推荐
- ajax与thymeleaf分别实现数据传输
小杰笔记篇: 1:第一种:利用Model和thymeleaf引擎来完成: Controller层: @CrossOrigin//解决跨域问题 @Controller public class User ...
- CSS3学习笔记-选择器
在CSS中,选择器是一种指定一个或多个元素的方法.可以根据元素的类型.类.ID.属性等特征来选择元素.CSS3引入了很多新的选择 器,让我们可以更加灵活和精准地选择元素. 下面介绍一些常用的CSS3选 ...
- MIGO新增页签增强
1.文档说明 本方法是将新增字段,展示在MIGO的新增页签中,并保存到自建表. 新增页签的方法,和采购订单新增页签的方法原理基本一致,都是需要创建函数组,并实现相应方法和屏幕,并在增强中调用该函数组, ...
- Langchain-Chatchat项目:1.1-ChatGLM2项目整体介绍
ChatGLM2-6B是开源中英双语对话模型ChatGLM-6B的第2代版本,引入新的特性包括更长的上下文(基于FlashAttention技术,将基座模型的上下文长度由ChatGLM-6B的2K ...
- 海量数据分析快准稳!GaussDB(for MySQL) HTAP只读分析特性详解
摘要:除了拥有 ClickHouse 本身的极致性能外,GaussDB(for MySQL)的HTAP只读分析在 MaterilizeMySQL引擎的性能和稳定性等方面具有更优秀的表现,为提供更快更准 ...
- Spark 覆盖写Hive分区表,只覆盖部分对应分区
要求Spark版本2.3以上,亲测2.2无效 配置 config("spark.sql.sources.partitionOverwriteMode","dynamic& ...
- Spring Boot JWT 用户认证
JWT token验证后,通过 ThreadLocal 进行传值 https://jwt.io/#debugger 官网提供的 JAVA 工具还是挺多的,选了个 Star 比较多的 https://g ...
- django中间件需要了解的方法 importlib模块 csrf校验策略 csrf相关装饰器
目录 django中间件三个需要了解的方法 process_view process_exception process_template_response 基于django中间件实现功能的插拔式设计 ...
- Go--发起HTTP请求
一.HTTP请求 根据 HTTP 标准,HTTP 请求可以使用多种请求方法.在日常开发中大多数会用到 5 种请求方法: GET.POST.PUT.PATCH 和 DELETE 方法 描述 GET 请求 ...
- C#9.0:Improved Pattern Matching
增强的模式匹配 C#9.0添加了几种新的模式.我们可以参阅模式匹配教程 ,来了解下面代码的上下文: 1 public static decimal CalculateToll(object vehic ...