人大金仓数据库(kingbase7d)操作入门指南
一直以来,通过在CSDN上搜索、学习相关技术知识,解决了诸多工作中遇到的问题。自己却从未发表贡献过一篇文章,深感内疚。近期,公司由于与金仓公司合作,需要将数据迁移至人大金仓数据库,本人有幸参与此工作,对金仓数据库进行了简单的学习研究,现形成《人大金仓数据库(kingbase7d)操作入门指南》,希望能帮到有需要的朋友,也算为本技术社区添砖增瓦,尽一点绵薄之力。
1.1 数据库安装
1.1.1 进入安装解压包下,以管理员身份执行 setup.bat或者install.exe;
1.1.2 点击 确定;
1.1.3 点击 下一步 ;
1.1.4 选择 我接受许可协议条款 ,并点击下一步 ;
1.1.5 选择 完全安装 ;
1.1.6 点击测试,如果通过,进入下一步,否则需要安装依赖插件;
注:金仓数据库安装包中包含插件,如下图,双击执行即可,执行完继续点击测试,通过后进入下一步;
1.1.7 选择授权文件 ;
注:金仓数据库安装包中包含授权文件,位置及名称如下:
1.1.8 选择数据库安装目录,点击 下一步 ;
1.1.9 点击 安装 ;
1.1.10 输入远程管理账号和密码,默认账户和密码均为krms;
1.1.11 安装完成,选择初始化时间,建议选择手动初始化数据库。
注:对数据库多次安装,发现选择自动初始化数据库时,偶尔会报错。
1.1.12 安装成功,在开始菜单中可以看到以下数据库操作工具;
1.2 数据库卸载
1.2.1 选择 卸载 ;
1.2.2 点击 卸载 ;
1.2.3 选择 确定 ,开始数据库的卸载 ;
1.2.4根据当时环境选择 是否重启系统,卸载完成;
1.3 数据库初始化
1.3.1 选择数据库初始化工具 ;
1.3.2 点击 下一步 ;
1.3.3 选择创建的数据库实例 数据目录,并进入下一步 ;
注(个人理解,仅供参考):金仓数据库初始化可以认为是创建了一个数据库实例,可以多次初始化,每次初始化都需要指定一个新的 数据存放目录(如data、data1、data2)。
1.3.4 配置数据库管理员、审计管理员等账户名和密码;
1.3.5 设置要创建的数据库名称,字符集编码等 ;
1.3.6 选择数据库类型,点击 下一步 ;
1.3.7 根据实际业务需求,配置数据库参数,建议设置大小写不敏感 ;
注:设置大小写不敏感后,对SQL语句支持增强;
1.3.8 初始化参数确认无误后,进入下一步;
注:如果需要修改,点击 上一步 重新配置 ;
1.3.9 设置实例名称和端口号,进入下一步;
1.3.10 点击 完成,数据库初始化结束;
1.4 数据库连接
1.4.1 点击 企业管理器 ;
1.4.2 右键点击kingbaseES,点击 新建kingbaseES注册(此功能类似navicat中创建数据库连接);
1.4.3 填入要连接的数据库实例信息(显示名是自定义的),点击 确定;
1.4.4 连接成功,并对各部分内容进行简单注释,如下;
注:KingbaseES下可创建多个连接,每个连接对应一个初始化的实例,每个连接下可创建多个数据库,每个数据库下包含多种模式(也可以自定义模式),每个模式下,可以创建多张表。
建议项目开发时,每个子系统对应一个数据库,相关表格全部放在PUBLIC模式下,这样就可以支持通用SQL的操作,如果放在其他目录下,如OUTIN模式下,对某表格(如STUDENT)进行SQL语句操作,就必须使用
“OUTIN. STUDENT”,这不利于项目实现数据库的迁移。
1.4.5 点击 工具 ,可以进入 查询分析器、数据迁移工具、逻辑备份工具等常用工具;
注:这些工具也可以从 开始菜单 处进入(上边数据库安装完成时有展示)。
1.4.6 右键 数据库 ,可以进行 新建数据库、刷新等操作;
注:金仓的各种操作工具中,通过 右键点击显示快捷菜单 的应用非常多,具体操作时会体会到。此处模式、表等均也可以 右键——>新建,不再赘述。
企业管理器中,可以创建表格,并对表格进行增删改操作,但操作体验较差,不建议使用。建议在查询管理器中执行SQL语句,完成对表格的创建和增删改查操作。
1.5 数据迁移
以103_mysql(连接)下的test库为例进行说明,如下所示:
1.5.1 开始菜单,或企业管理器窗口中,点击 数据库迁移工具,进入本界面。点击 下一步;
1.5.2 选择 向导方式 ,点击 下一步 ;
1.5.3 选择要迁移的数据源的数据库类型及相关配置信息,进入 下一步;
1.5.4 选择迁移目的库的数据库类型及相关配置信息,进入 下一步;
1.5.5 如下所示,选定目的数据库的模式,及数据源中要迁入的表;
1.5.6 选择 立即迁移,进入下一步 ;
1.5.7 再次确认 迁移信息 ,确认无误后进入下一步 ;
1.5.8 点击 确定;
1.5.9 点击 完成 ,迁移工作完成 ;
从下图可以看到,金仓TEST库PUBLIC模式中,多了animals和teacher两张表,迁移成功。
1.6 数据查询
1.6.1 开始菜单,或企业管理器窗口中,点击 查询管理器,进入本界面,输入要连接的数据库实例信息 ,点击确定(可参照企业管理器);
1.6.2 进入查询分析器。可以在右侧窗口输入SQL。
1.7 常见数据库操作(创建表、增删改查等)
1.7.1 通过企业管理器实现 ;
1.7.1.1 创建表 ;
1.7.1.2 新增、修改数据(选择 返回所有行 ,进入本界面) ;
注:通过企业管理器进行表格的创建、增删改查等基本操作,个人体验较差,建议采用下边的查询分析器完成这些操作。
1.7.2 通过查询分析器实现 ;
注:选中某表,右键—>生成对象脚本到窗口—>系统会帮我们生成 基本的标准金仓SQL;
1.7.2.1 创建表 ;
1.7.2.2 增删改查操作 ;
增删改查操作,均通过在SQL窗口输入SQL命令,执行即可实现。但需要注意的是,对PUBLIC模式下的表格进行操作时,可以省略”PUBLIC.”
,而其他模式就不可以,所以建议使用PUBLIC模式。下边以新增为例说明在
PUBLIC模式和其他模式(以OUTLN为例)下,SQL命令操作的差异性。
1.7.2.2.1 PUBLIC模式下的新增 ;
可以看到,不管是金仓数据库生成的 金仓标准SQL(带 PUBLCI. ),还是MySQL、Oracle均支持的普通SQL,均执行成功;
注:系统生成的 新增 金仓数据库标准SQL语句 ,执行成功;
注:MySQL、Oracle等均支持的普通SQL语句,执行成功 ;
1.7.2.2.2 OUTLN模式下的新增 ;
可以看到,金仓数据库生成的 金仓标准SQL(带 OUTLN. )执行成功,但MySQL、Oracle均支持的普通SQL,执行失败 。
注:系统生成的 新增 金仓数据库标准SQL语句 ,执行成功;
注:MySQL、Oracle等均支持的普通SQL语句,执行失败 ;
2 应用于Linux系统(命令行操作)
2.1 数据库安装
2.1.1 切换到安装包的解压目录下(本系统中安装解压包位置为:/software/kingbase-linux),以非root用户执行setup.sh (sh setup.sh);
2.1.2 根据提示进行操作(由于包含较多只需要点击ENTER键的操作,只截取部分图片进行说明,其余按照提示操作即可);
2.1.3 此处输入 是;
2.1.4 此处输入 1 ,选择完全安装;
2.1.5 选择授权文件,文件路径处输入授权文件所在位置;
注:103系统上授权文件放置位置为:/software/kingbase-linux/license_ee_7.1.2_offical-trail-64.dat。
2.1.6 键入你的数据库安装目录,并进行确认;
2.1.7 设置连接数据库时的账户名和密码;
2.1.8 输入 2 ,我们选择手动初始化数据库(此处可根据个人习惯进行选择);
2.1.9 以root用户执行Root.sh (在安装目录的Install文件夹下);
至此,安装完成……
2.2 数据库卸载
2.2.1 切换到数据库安装目录的Uninstall目录下(本系统为:/usr/lib64/kingbase/ES/V7/Uninstall),使用root用户,执行Uninstall.sh命令(sh Uninstall.sh);
注:本命令执行完,数据库已经卸载,但未卸载干净。
2.2.2 继续执行UninstallRoot.sh命令(sh UninstallRoot.sh);
注:本命令会删除Uninstall目录下其他文件。
2.2.3 手动删除安装目录下(V7)其他文件(夹),rm –rf * ;
至此,卸载完成……
2.3 数据库初始化
2.3.1 切换到非root用户,查看初始化帮助选项(initdb –help);
2.3.2 初始化,并配置基本参数;
注:初始化命令为:
initdb -U SYSTEM -W123456 -b 8 –wal-file-size=1024 -E UNICODE
–ssousername=SSO –ssopassword=SSO –saousername=SAO –saopassword=SAO
–case-insensitive –database=TEST -D /usr/lib64/kingbase/ES/V7/data
其中–case-insensitive表示不区分大小写,不写入默认区分大小写。
也可查看上一步帮助选项(initdb –help),进行更多配置。
2.3.3 创建数据库实例;
注:创建数据库实例命令为:
kingbase –install kingbasees_instance1 -U SYSTEM -p 54321 -D /usr/lib64/kingbase/ES/V7/data
其中:
–install kingbasees_instance1表示实例名(可自己命名);
-U SYSTEM为实例用户;
-p 54321为端口;
-D /usr/lib64/kingbase/ES/V7/data为本实例中数据存储位置。
可以创建多个实例。
至此,初始化完成……
2.4 数据库连接、查询、迁移
Linux数据库的连接、查询、迁移等操作,均可采用Windows系统上的客户端图形化工具,此处不再赘述。
3 具体项目中应用金仓数据库
3.1 引入金仓数据库驱动—kingbasejdbc4.jar ;
此处提供两种方案 ,可根据个人喜好进行选择:
3.1.1 方案一(建议采用);
在WEB-INF目录下创建lib目录,引入kingbasejdbc4.jar ,并进行build path操作;
3.1.2 方案二;
在WEB-INF目录下创建lib目录,引入kingbasejdbc4.jar ,同时在pom.xml中加入以下代码(路径根据实际项目进行修改),重新编译即可;
注:本方案在自建的一个简单maven项目中测试成功,然而在公司项目中测试失败,可能与框架的选择有关,建议采用方案一。
3.2 修改数据源连接配置(jdbc.properties);