Docker部署数据库--人大金仓(kingbase)

Docker部署数据库--人大金仓(kingbase)

来自: 技术教程分享

浅木先生

2024年04月29日 15:09

Docker部署人大金仓数据库整体步骤:

1、获取镜像,上传镜像,加载镜像;

2、创建并配置容器;

3、连接使用;

0x01、在人大金仓官网下载docker镜像

https://www.kingbase.com.cn/xzzx/index.htm

通过上面网址下载到tar包以后,上传到服务器,执行加载镜像命令

docker load -i kdb_x86_64_V008R006C008B0014.tar

执行docker images 查看镜像

docker images

ps:方便记录,可以重新给镜像打个标签

docker tag kingbase_v008r006c008b0014_single_x86:v1 kingbase_v8:v1

0x02、创建并启动容器

docker run -idt \

--name KingBase \

--privileged \

--restart=always \

-p 54321:54321 \

-v /data/kingbase/data:/home/kingbase/userdata/data \

kingbase_v8:v1

==== (可选)带参数的启动===

docker run -tid \

--name kingbase \

--restart=always \

-e ENABLE_CI=${enable_ci} \

-e NEED_START=${need_start} \

-e DB_USER=${username} \

-e DB_PASSWORD=${passwd} \

-e DB_MODE=${dbmode} \

kingbase:v1 \

/bin/bash

# 参数说明:

DB_USER: 数据库用户

DB_PASSWORD: 数据库初始密码

DB_MODE: 数据库模式: 支持oracle/pg/mysql

NEED_START: 进入容器后是否启动数据库:yes(默认 启动数据库)/ no(不启动数据库)

ENABLE_CI: 是否需要配置大小写敏感:yes(默认 大小写不敏感)/no 大小写敏感

License.dat持久化及更换license 容器启动后对应的license.dat文件会复制到etc持久化目录,并建立软连接

配置文件持久化及修改配置文件后生效

启动容器后,相关配置文件会随着data目录一起持久化,包括kingbase.conf、 kingbase_auto.conf、sys_hba.conf等配置文件.在持久化目录中修改配置文件后,使用如下命令使修改生效:

/home/kingbase/install/kingbase/bin/sys_ctl reload -D /home/kingbase/userdata/data/

数据库启动和停止

#(进入容器linux默认用户kingbase) : sys_ctl -D /home/kingbase/xxxx start/stop

查看日志

docker logs KingBase #注意下图红框内容,后边会用到。

/home/kingbase/install/kingbase/bin/sys_ctl -D /home/kingbase/userdata/data -l logfile start

进入容器内:

docker exec -it KingBase /bin/bash

执行查看日志中获取到的红框的命令:

/home/kingbase/install/kingbase/bin/sys_ctl -D /home/kingbase/userdata/data -l logfile start

进入数据库

ksql -Usystem -d TEST -p54321

修改system用户密码

ALTER USER system PASSWORD 'Zkjn123456';

端口: 54321

默认数据库: TEST

用户名: SYSTEM

密码: Zkjn123456

0x03、连接数据库

拓展:

人大金仓官网教程:

https://help.kingbase.com.cn/v8/install-updata/install-docker/install-docker-3.html#id2

人大金仓 过期 更换license

https://blog.youkuaiyun.com/qq22692150/article/details/116924178

### 人大金仓数据库 Docker 部署教程 #### 准备工作 为了顺利部署人大金仓数据库,在开始之前需确认已安装好 DockerDocker Compose 工具。这些工具用于容器化环境管理和编排服务。 #### 下载镜像 通过官方仓库获取最新版本的人大金仓数据库镜像,命令如下: ```bash docker pull godmeowicesun/kingbase:es-v8-r3-rv1 ``` 此操作会拉取指定标签 `es-v8-r3-rv1` 的人大金仓数据库镜像到本地环境中[^2]。 #### 创建挂载点 为确保数据持久性和安全性,建议创建专门目录作为卷映射位置。这一步骤可以防止因容器删除而导致的数据丢失风险。具体做法是在宿主机上建立文件夹并赋予适当权限: ```bash mkdir -p /mydata/kingbase/{conf,data,log} chmod -R 755 /mydata/kingbase/ chown -R 999:999 /mydata/kingbase/ ``` 上述指令分别完成了路径 `/mydata/kingbase/conf`, `/mydata/kingbase/data`, 及 `/mydata/kingbase/log` 的创建及其读写执行权限设置,并更改属主至ID为999的用户组下。 #### 启动容器实例 利用前面准备好的配置启动一个新的人大金仓数据库实例。这里提供了一个基础示例来说明如何运行该过程: ```bash docker run \ --name kingbase-instance \ -e INITDB_ARGS="-U system -W manager -D /var/lib/kingbase/data" \ -v /mydata/kingbase/conf:/etc/kingbase-8/server.conf.d \ -v /mydata/kingbase/data:/var/lib/kingbase/data \ -v /mydata/kingbase/log:/var/log/kingbase \ -d \ godmeowicesun/kingbase:es-v8-r3-rv1 ``` 这段脚本定义了一系列参数选项,包括但不限于命名容器名称(`--name`)、初始化数据库时所需的认证信息(`-e INITDB_ARGS`)以及外部存储绑定(`-v`)等。最后指定了要使用的镜像名和标签。 #### 远程访问配置 如果计划允许远程连接,则还需要调整防火墙规则开放相应端口(默认情况下可能是5432),并且修改配置文件中的监听地址以接受来自其他设备的请求。通常涉及编辑位于挂载点内的配置文件实现这一目标。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值