最近同事求助,加上笔者自己也没有做过相关的记录,在此讲解一下国产化数据库(KingBase)的部署教程,
KingBase本质是什么用过PostgreSql的懂的都懂。
Kingbase有多种部署方式,笔者这里推荐使用docker容器部署,维护方便,但是需要写一些配置文件,笔者将会以Linux环境下的部署为例,请确认你的Linux环境已经安装好docker服务以及docker-compose工具,如果没有安装,可以参考我之前的文章
那么下面正式开始。
第一步:获取人大金仓docker镜像
如果你有现成的镜像压缩包,比如kingbase_v008r006c008b0014_single_x86.tar,那么可以跳过此步骤。
如果没有,打开
依次点击“选择产品”>“选择版本”>“软件版本”>“数据库”>“操作系统-Linux”>“类型-docker镜像”,如果使用国产化CPU,也可以选择对应的CPU,然后选择合适的版本“点击下载”。
接着你会得到一个tar格式的镜像压缩包。
第二步:上传镜像压缩包至服务器
可以随意找个文件夹塞进去,比如笔者喜欢放在/home下,然后cd进入该目录
cd /home
第三步:使用docker读取镜像压缩包
docker load -i kingbase_v008r006c008b0014_single_x86.tar
把压缩包的名字改成你实际压缩包的名字,读取完成后,可以使用images指令,查看当前已加载镜像。
docker images
第四步:创建数据持久化目录
这个目录的作用是持久化数据库的数据,避免容器重启后数据丢失,笔者喜欢在根目录下创建一个data文件夹
cd /
mkdir data
cd /data
mkdir kingbase
cd /data/kingbase
mkidr data
cd /data/kingbase/data
稍后将会把容器内的数据库目录挂载到本地/data/kingbase/data目录下
第五步:编写docker-compose.yml文件
老规矩,回到笔者最爱的home,创建docker-compose.yml文件
cd /home
vim docker-compose.yml
在docker-compose.yml中编写如下内容
services:
kingbase:
# 这里可以自行修改你的容器名称(需自行修改)
container_name: kingbase
# 这里是镜像名称,如果你不知道镜像名称可以使用docker images查看(需自行修改)
image: kingbase_v008r006c008b0014_single_x86:v1
privileged: true
restart: always
environment:
TZ: "Asia/Shanghai"
# 访问数据库的用户名(需自行修改)
DB_USER: xxxx
# 访问数据库的密码(需自行修改)
DB_PASSWORD: xxxx
ports:
# 容器内部与外部的端口映射(默认不要动,kingbase默认使用54321端口)
- "54321:54321"
volumes:
# 持久化目录映射,如果你刚才创建/data/kingbase/data/,那么你可以直接使用下面这个映射配置
- /data/kingbase/data/:/home/kingbase/userdata/data/
保存docker-compose.yml文件
第六步:创建并运行容器
使用docker-compose工具开始创建容器,首先确保处在docker-compose.yml同级目录中
cd /home
然后执行如下命令
docker-compose -f docker-compose.yml up -d
等待容器创建完毕
第七步:查看容器运行状态
使用如下命令查看容器的运行状态
docker ps -a
不出意外,你应该会看到
STATUS表示Up xx xx,即表示容器正在运行,部署完成。
下面是一些常用的容器管理指令
# 启动容器
docker start 容器名称或容器id
# 停止容器
docker stop 容器名称或容器id
# 重启容器
docker restart 容器名称或容器id
# 删除容器
docker rm 容器名称或容器id
第八步:访问数据库
接下来你就可以使用各类DB工具进行访问了,需要注意的是,人大金仓默认初始数据库是kingbase,用户名和密码是刚才docker-compose.yml配置中的用户名和密码,端口号使用54321
评论