金仓数据库linux环境下如何导出sql\dmp格式文件

在 Linux 环境下使用 金仓数据库(KingbaseES) 备份为 SQL 或 DMP 文件,可以通过以下 命令行工具 和 图形化管理工具 完成。
无论是命令行备份还是图形备份都需要保证备份目标库是可以连接的**

命令行工具:sys_dump

sys_dump 是用于备份 KingbaseES 数据库的工具,可将数据库备份为脚本文件或其他归档文件。即使数据库正在并发使用,也能创建一致的备份。sys_dump 不阻塞其他用户访问数据库(读取或写入)。sys_dump 只备份单个数据库。

基本用法

sql文件: /opt/Kingbase/ES/V8/Server/bin/sys_dump -U 用户名 -h ip -p 端口号 -f /备份路径/xxx.sql 库名
dmp文件:/opt/Kingbase/ES/V8/Server/bin/sys_dump -U 用户名 -h ip -p 端口号 -Fc -f /备份路径/xxx.dmp 库名

选项 含义 注意
-U 数据库用户名 建议使用system管理员用户,或者使用对备份目标对象有权限的普通用户
-h 数据库主机IP 写备份目标环境的IP,本地备份就写本机IP或者127.0.01
-p 数据库端口号 数据库默认端口号为54321,但是要以实际为准
-f 备份文件存放路径及名称 备份用户需要有对备份路径操作的权限(归属和权限给到位)
-F C 格式: C(custom 二进制)、p(SQL 纯文本) -FC为dmp格式,-Fp 为sql格式(不加该参数默认备份sql格式)
-n 备份目标模式名 如果只想单独备份一个模式,就需要添加-n参数
-t 备份目标表名称 单独备份一张或多张表,需要添加-t参数

示例1:

导出整个库(sql格式)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321  -f /home/kingbase/test001.sql test

导出整个库(dmp格式)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -F C -f /home/kingbase/test001.dmp test

image

示例2:

导出指定模式(cms模式)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -ncms -f /home/kingbase/cms.sql test
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -F C -ncms -f /home/kingbase/cms.dmp test

image

示例3:

导出指定表(table1)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -t cms.table1  -f /home/kingbase/cms_table1.sql test

导出多张表(table1、table2、table3)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -t 'cms.table1|cms.table2|cms.table3'  -f /home/kingbase/cms_table123.sql test
或者
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321 -t cms.table1 -t cms.table2  -t cms.table3  -f /home/kingbase/cms_table123.sql test
或者

image

后台备份&输出到指定日志

选项 含义
2>&1 设置该命令为后台备份,如有连接VPN超时断开的,可以配置sys_dump为后台备份
>xxx.log 将sys_dump 的报错输出到指定log日志中,方便查阅。此log文件也可以写绝对路径
示例:
导出整个库(sql格式)
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system  -h 127.0.0.1 -p 54321  -f /home/kingbase/test.sql test >error.log  2>&1

image


命令行工具:sys_dumpall

将一个KingbaseES数据库集簇抽取到一个脚本文件中。 它会对集簇中的每个数据库调用 sys_dump 来完成该工作。sys_dumpall还转储对所有数据库公用的全局对象( sys_dump 不保存这些对象),包括数据库用户和组、表空间以及适合所有数据库的访问权限等属性。

因为sys_dumpall从所有数据库中读取表,所以需要以数据库超级用户的身份连接以便生成完整的转储。同样,也需要超级用户特权执行保存下来的脚本,这样才能增加角色和组以及创建数据库。

基本用法

/home/kingbase/KingbaseES/V8/Server/bin/sys_dumpall -U用户名 -p端口号 -f /home/kingbase/dumpall.sql

示例:

/home/kingbase/KingbaseES/V8/Server/bin/sys_dumpall -U用户名  -p端口号 -f /home/kingbase/dumpall.sql

image




图形管理工具:KStudio

进入到数据库安装目录的Clienttools/guittools/KStudio目录下打开KStudio工具

su - kingbase
cd /opt/Kingbase/ES/V8/Clienttools/guittools/KStudio
./KStdio

image

image

1、新建数据库连接

image

2、打开左边导航栏找到逻辑备份&逻辑还原

image

3、选中需要备份的对象(库、模式或者表)点击备份即可

posted @ 2025-08-25 11:05  爱冻  阅读(402)  评论(0)    收藏  举报