Docker安装Kingbase数据库v8r6官方镜像

Kingbase(人大金仓)数据库的原生安装过程对系统的耦合比较严重,所以选择了Docker安装的方式。

下载官方的Docker镜相包

地址:https://www.kingbase.com.cn/xzzx/index.htm
导航到 软件版本/数据库/docker镜像 选择合适自己机器的镜像包。
image

导入docker镜像

  1. 将下载下来的docker镜像上传至服务器,这里的kdb_x86_64_V008R006C008B0014.tar就是我下载好的镜像。用docker load命令将镜像导入到docker。
docker load --input kdb_x86_64_V008R006C008B0014.tar
  1. 查看导入的镜像
docker images

执行上述命令,确认你的镜像列表中是否存在kingbase镜像。记录镜像名称和版本。

REPOSITORY                                             TAG                IMAGE ID       CREATED        SIZE
...                                                    ...                ...            ...            ...
kingbase_v008r006c008b0014_single_x86                  v1                 451a390d70bd   4 months ago   718MB

下载授权文件

地址:https://www.kingbase.com.cn/xzzx/index.htm
导航到 授权文件/数据库授权文件 选择合适自己的license,我喜欢用专业版反正是docker,可以很轻松的无限次授权。

license尽量不要用开发版,开发版连接数只有10个,一个人用的话勉强可以,但如果项目组有两个以上的人时,会经常因为连接数不够互相抢占。现在的SQL客户端工具动不动就是十几几十的链接。
image

创建并启动容器

  1. 先将授权文件上传,授权文件是一个licensexxx.dat文件,如果下载的是zip包的话,请先解压
# 客户机上传授权文件到服务器/home/dockerapps/kingbase目录
unzip license_企业版.zip
# 创建并启动容器
docker rum -dit --name kingbase \
	-p 54321:54321 \
	-v /root/dockerapps/kingbase/license_xxx.dat:/home/kingbase/userdata/etc/license.dat \
kingbase_v008r006c008b0014_single_x86:v1

这里是最简单安装方式,最后面会说一下详细的定制参数。

客户端链接

这是一个一DataGrip为例的简单链接过程。

  1. 下载kingbase驱动。我喜欢用JDBC
    导航到 软件版本/接口驱动/JDBC 选择合适自己的驱动包,我选择的是V8R6_JDBC。
    image
  2. 在DataGrip中配置驱动
    打开File/Data Source and Drivers/Drivers 按如下配置:
    填写好Name、Driver Files、Class (添加好Driver Files后,会自动列出Class候选项,选择合适自己的就好)
    image
  3. 创建数据库链接
    继续打开File/Data Source and Drivers/Data Sources,新建一个链接,数据库类型和驱动就选择刚刚配置好的Kingbase
    默认的数据库用户名为system, 密码为12345678ab

image

至此,你以安装了Kingbase并通过客户端工具链接进去。

docker中的一些启动参数:

这是我逆向docker的docker-entrypoint.sh参数整理出来的,金仓的文档中心挂了,404打不开(感觉这个数据库不是很靠谱的样子,但客户要求使用)。
后续金仓可能会出详细的docker部署文档,现阶段只能自己去逆向了。

环境变量 说明 默认值
DB_USER 用户名 system
PASSWORD 密码 12345678ab
DB_MODE 数据库模式oracle/mysql oracle
USER_DATA 持久化数据目录,非绝对路径,/home/kingbase/{对应这里} userdata/data
NEED_START 不知道干嘛的,莫非是自动启动? yes
ENABLE_CI 也不知干嘛的 yes

假设创建容器时要自定义用户名和密码, 那么启动容器时键入以下参数就可以将默认用户名和密码更改为myusernamemybassword

docker rum -dit --name kingbase \
	-p 54321:54321 \
	-v /root/dockerapps/kingbase/license_xxx.dat:/home/kingbase/userdata/etc/license.dat \
	-e DB_USER=myusername \
	-e PASSWORD=mypassword \
kingbase_v008r006c008b0014_single_x86:v1

建议将image导入后提交到docker hub,下载在新机器中创建就不需要load了,直接执行docker run ...就好,这样更方便。

posted @ 2024-06-06 16:14  Only丿阿海  阅读(1836)  评论(0)    收藏  举报