人大金仓数据的导入导出&简单命令 您所在的位置:网站首页 表单库InfoPath导出与导入以及出现的问题 人大金仓数据的导入导出&简单命令

人大金仓数据的导入导出&简单命令

2024-06-26 23:43| 来源: 网络整理| 查看: 265

前言

这篇文档主要是对于人大金仓数据库的导入导出的命令解释,以及你想要操作人大金仓数据库的一些常用命令,方便快速入门。

环境

操作系统:UOS(统信)

数据库:人大金仓数据库(Kingbase)

数据导出

我们有时候会遇到这样的需求,比如我想对这个人大金仓数据库中的数据做数据迁移,迁移到另一台服务器上,其实这样有两种方式,方式一:通过人大金仓的数据库迁移工具进行(适用于数据量少的)方式二:通过服务器中命令行的方式进行数据备份迁移。 在此,笔者采用的是方式二:以命令行的形式,先把数据库中的数据导出,然后在导入到另一台服务器的人大金仓的数据库中。

1.找到Kingbase的安装位置

一般是在Kingbase的目录,如果不知道可以通过查找命令查找:find / -name kingbase

2.导出整个数据库命令

 ps:这个命令适用于打包整个数据库的全部数据以及表结构 找到之后,找到Kingbase的bin目录并切换到bin目录下,就可以使用如下命令了。

备份工具sys_dump

 (1)sys_dump 是人大金仓提供的用于数据逻辑备份的工具,支持在线备份。 (2)支持备份为多种类型的文件格式,包含可跨平台的 SQL 脚本格式。 (3)支持压缩、并行、加密备份

./sys_dump -h 主机ip -p 端口 -U 用户名 -W -F c -f /data/20230822bak.dmp 数据库名

 /data/20230822bak.dmp :指生成文件位置在data目录 文件名称为20230822bak.dmp。

在命令中的 "-W" 表示需要输入密码。根据提示输入与该用户名对应的密码。

-F 选项用于指定备份文件的格式。其中 c 表示以定制的二进制格式进行备份。

-f 选项用于指定输出的备份文件路径和文件名。

还可以通过./sys_dump --help 查看sys_dump的选项参数 内容如下:

一般选项: -f, --file=FILENAME 输出文件或目录名 -F, --format=c|d|t|p 输出文件格式 (定制, 目录, tar) 明文 (默认值)) -j, --jobs=NUM 执行多个并行任务进行备份转储工作 -K, --key encryption key -D, --encrypt-device specify the encrypt device -v, --verbose 详细模式 -V, --version 输出版本信息,然后退出 -Z, --compress=0-9 被压缩格式的压缩级别 --lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败 -?, --help 显示此帮助, 然后退出 控制输出内容选项: -a, --data-only 只转储数据,不包括模式 -c, --clean 在重新创建之前,先清除(删除)数据库对象 -C, --create 在转储中包括命令,以便创建数据库 -E, --encoding=ENCODING 转储以ENCODING形式编码的数据 -n, --schema=SCHEMA 只转储指定名称的模式 -N, --exclude-schema=SCHEMA 不转储已命名的模式 -o, --oids 在转储中包括 OID -O, --no-owner 在明文格式中, 忽略恢复对象所属者 -s, --schema-only 只转储模式, 不包括数据 -S, --superuser=NAME 在明文格式中使用指定的超级用户名 -t, --table=TABLE 只转储指定名称的表 -T, --exclude-table=TABLE 不转储指定名称的表 -x, --no-privileges 不要转储权限 (grant/revoke) --binary-upgrade 只能由升级工具使用 --column-inserts 以带有列名的INSERT命令形式转储数据 --disable-dollar-quoting 取消美元 (符号) 引号, 使用 SQL 标准引号 --disable-triggers 在只恢复数据的过程中禁用触发器 --enable-row-security 启用行安全性(只转储用户能够访问的内容) --exclude-table-data=TABLE 不转储指定名称的表中的数据 --if-exists 当删除对象时使用IF EXISTS --inserts 以INSERT命令,而不是COPY命令的形式转储数据 --no-security-labels 不转储安全标签的分配 --no-synchronized-snapshots 在并行工作集中不使用同步快照 --no-tablespaces 不转储表空间分配信息 --no-unlogged-table-data 不转储没有日志的表数据 --quote-all-identifiers 所有标识符加引号,即使不是关键字 --section=SECTION 备份命名的节 (数据前, 数据, 及 数据后) --serializable-deferrable 等到备份可以无异常运行 --snapshot=SNAPSHOT 为转储使用给定的快照 --strict-names 要求每个表和/或schema包括模式以匹配至少一个实体 --use-set-session-authorization 使用 SESSION AUTHORIZATION 命令代替 ALTER OWNER 命令来设置所有权 联接选项: -d, --dbname=DBNAME 对数据库 DBNAME备份 -h, --host=主机名 数据库服务器的主机名或套接字目录 -p, --port=端口号 数据库服务器的端口号 -U, --username=名字 以指定的数据库用户联接 -w, --no-password 永远不提示输入口令 -W, --password password --role=ROLENAME 在转储前运行SET ROLE  数据导入

ps:操作的时候也是在kingbase的bin目录下

还原工具sys_restore

(1)sys_restore 是人大金仓提供的用于逻辑备份还原的工具,支持在线还原。

(2) 支持还原除 sql 脚本之外的所有逻辑备份类型的文件。

(3)支持并行任务进行恢复工作。

(4) 支持在还原时指定表空间映射。

(5)支持在还原时删除原有对象再重新创建和恢复数据。

语法:

./sys_restore -h 主机ip -p 端口 -U 用户名 -W -d 数据库名称 文件路径 用法: sys_restore[选项]。。。[文件] 常规选项: -d、 --dbname=NAME连接到数据库名称 -f、 --file=FILENAME输出文件名(-用于stdout) -F、 --format=c|d|t备份文件格式(应该是自动的) -l、 --列表打印档案的汇总TOC -v、 --详细详细模式 -V、 --版本输出版本信息,然后退出 ---帮助显示此帮助,然后退出 控制恢复的选项: -a、 --data only只还原数据,不还原架构 -c、 --在重新创建之前清理(删除)数据库对象 -C、 --create创建目标数据库 -e、 --出错时退出出错时退出,默认为继续 -I、 --index=NAME恢复命名索引 -j、 --jobs=NUM使用这么多并行作业进行恢复 -k、 --key=encryptkey指定加密密钥 -L、 --use list=FILENAME使用此文件的目录 选择/排序输出 -n、 --schema=NAME仅还原此架构中的对象 -N、 --exclude schema=NAME不还原此架构中的对象 --仅视图仅恢复视图 --重新创建视图最后重新创建视图 -g、 --fromSchema=NAME从架构中恢复对象,与-g一起使用 -G、 --toSchema=NAME将对象恢复到架构, -O、 --无所有者跳过对象所有权的恢复 -P、 --function=NAME(args)恢复命名函数 -s、 --schema only仅还原架构,不还原数据 -S、 --superuser=NAME用于禁用触发器的超级用户用户名 -t、 --table=NAME恢复命名关系(表、视图等) -T、 --trigger=NAME还原命名触发器 -x、 --无权限跳过访问权限的恢复(授予/撤消) -1,--将单个事务还原为单个事务 --禁用触发器在仅数据恢复期间禁用触发器 --启用行安全性启用行安全 --如果存在,则在删除对象时使用if exists --无评论不恢复评论 --没有失败表的数据不会还原无法创建 --没有发布不还原发布 --没有安全标签不恢复安全标签 --没有订阅不会还原订阅 --没有表空间不会恢复表空间分配 --section=section恢复命名节(前数据、数据或后数据) --严格的名称要求表和/或架构包含模式 每个至少匹配一个实体 --使用集会话授权 使用SET SESSION AUTHORIZATION命令,而不是 ALTER OWNER命令设置所有权 连接选项: -h、 --host=HOSTNAME数据库服务器主机或套接字目录 -p、 --port=port数据库服务器端口号 -U、 --username=NAME作为指定的数据库用户连接 -w、 --无密码从不提示输入密码 -W、 --密码强制密码提示(应自动发生) --role=角色在还原前设置角色 选项-n和-g(-g)不能组合使用。 选项-I、-n/-g(-g)、-P、-t、-t和--section可以组合并指定 多次选择多个对象。 如果没有提供输入文件名,则使用标准输入。 常用命令 查看Kingbase的进程 ps -ef | grep kingbase 或 ps aux | grep kingbase 连接数据库 ./ksql -U 用户名 -W -p 端口号

输入正确之后会提示你输入当前数据库用户的密码,输入之后就成功进入人大金仓数据库。

 创建数据库

语法:create database 数据库名称 with owner=‘账号名称’ ENCODING UTF8;

create database test01 with owner='system' ENCODING UTF8;   创建用户 create user U1 with superuser password '123456'; --超级用户 create user U2 with password '123456'; --普通用户

 把123456修改为对应你需要设置的密码即可。

 查看所有的数据库与所有的用户 select datname from sys_database; select * from sys_user;  其他命令 列出数据库: \l 列出索引: \di 列出表: \dt 列出表结构:\d 表 查询数据大小写敏感: show case_sensitive 切换数据库: \c dbname 显示字符集:\encoding 退出:\q 查看所有存储过程(函数): \df 查看所有用户 \du 将名下的表指给某个用户:alter table 表名 owner to 指定用戶 创建普通用户:create user 用户名(用户名不带双引号,默认大写) with password '密码'; 若创建超级用户需要添加:with superuser password '密码';


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有