当前位置:   article > 正文

docker 安装 人大金仓数据库

docker 安装 人大金仓数据库

(本人验证通过)方案一 : 官网docker安装-验证通过

下载官网安装包
在这里插入图片描述

将安装包重命名为: kingbase.tar 再导入镜像仓库

docker load -i kingbase.tar
  • 1

启动容器

docker run -tid \
--privileged \
--name kingbase \
-v /opt/kingbase/data:/home/kingbase/userdata/ \
-p 54321:54321 \
-e ENABLE_CI=no  \
-e NEED_START=yes \
-e DB_USER=root \
-e DB_PASSWORD=root \
-e DB_MODE=mysql \
451a390d70bd
/bin/bash
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
docker run -tid \
--privileged \
--name kingbase \
-v /opt/kingbase/data:/home/kingbase/userdata/ \
-p 54321:54321 \
-e ENABLE_CI=no  \ 大小写不敏感
-e NEED_START=yes \ 启动容器就启动数据库
-e DB_USER=root \ 用户名
-e DB_PASSWORD=root \ 密码
-e DB_MODE=mysql \ 数据库模式:mysql
451a390d70bd 镜像id
/bin/bash
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

进入容器

docker exec -it kingbase /bin/bash
  • 1

查看数据库状态-已经运行

[kingbase@9ac76aaafba8 ~]$ ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
kingbase      1      0  0 11:33 pts/0    00:00:00 /bin/bash /home/kingbase/docker-entrypoint.sh
kingbase     79      1  0 11:33 ?        00:00:00 /home/kingbase/install/kingbase/bin/kingbase -D /home/kingbase/userdata/data
kingbase     80     79  0 11:33 ?        00:00:00 kingbase: logger   
kingbase     82     79  0 11:33 ?        00:00:00 kingbase: checkpointer   
kingbase     83     79  0 11:33 ?        00:00:00 kingbase: background writer   
kingbase     84     79  0 11:33 ?        00:00:00 kingbase: walwriter   
kingbase     85     79  0 11:33 ?        00:00:00 kingbase: autovacuum launcher   
kingbase     86     79  0 11:33 ?        00:00:00 kingbase: archiver   
kingbase     87     79  0 11:33 ?        00:00:00 kingbase: stats collector   
kingbase     88     79  0 11:33 ?        00:00:00 kingbase: kwr collector   
kingbase     89     79  0 11:33 ?        00:00:00 kingbase: ksh writer   
kingbase     90     79  0 11:33 ?        00:00:00 kingbase: ksh collector   
kingbase     91     79  0 11:33 ?        00:00:00 kingbase: logical replication launcher   
kingbase    113      1  0 11:33 pts/0    00:00:00 sleep 1000
kingbase    117      0  0 11:40 pts/1    00:00:00 /bin/bash
kingbase    152    117  0 11:41 pts/1    00:00:00 ps -ef
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

容器内连接数据库

docker exec -it kingbase /bin/bash
# 使用ksql输入密码进行访问(默认kingbase用户)
ksql -Usystem -d test -p54321

ksql -Uroot -d test -p54321
  • 1
  • 2
  • 3
  • 4
  • 5

遇到问题:创建容器时候在环境变量中设置的用户名密码没有生效, 需要自己手改一下
参考下面的问题中的: kingbase password authentication failed for user “system”"

先去 data 目录下找到 sys_hba.conf 打开后找到最下面 IPv4 local connections: 项,到第一行,把 scram-sha-256 改为 trust 然后保存,

重启数据库后免密登录数据库,再执行下面的语句修改system 密码 : ALTER USER system PASSWORD ' 新密码 ';
  • 1
  • 2
  • 3

方案二: Docker部署人大金仓KingBaseEs V8数据库

下载镜像

docker pull godmeowicesun/kingbase
  • 1

创建挂载目录

	mkdir /opt/kingbase
	chmod 777 /opt/kingbase
	mkdir /opt/kingbase/license
  • 1
  • 2
  • 3

启动容器

docker run -dit \
--privileged=true \
-p 54321:54321 \
-v /opt/docker/kingbase-latest/opt:/opt \
--name kingbase-v1 godmeowicesun/kingbase:latest
  • 1
  • 2
  • 3
  • 4
  • 5

默认信息: (后期更新可自定义)
端口: 54321
用户名: SYSTEM
密码: 123456
默认数据库: TEST

方案三: docker中部署kingbase-es-v8-r6

下载镜像

docker pull chyiyaqing/kingbase:v8r6
  • 1

启动容器

docker run 
-d 
--name kingbasev8r6 
-p 54321:54321 
-e SYSTEM_USER=kingbasees 
-e SYSTEM_PWD=kingbasees 
-v /home/kingbase-es-v8-r6-docker/license.dat:/opt/kingbase/Server/bin/license.dat 
kingbase:v8r6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

安装遇到的问题

kingbase password authentication failed for user “system”"

错误描述:

kingbase password authentication failed for user "system""
  • 1

解决方案:

先去 data 目录下找到 sys_hba.conf 打开后找到最下面 IPv4 local connections: 项,到第一行,把 scram-sha-256 改为 trust 然后保存,重启数据库后免密登录数据库,再执行下面的语句修改system 密码 : ALTER USER system PASSWORD ' 新密码 ';
  • 1

在这里插入图片描述

# 进入容器
docker exec -it kingbase /bin/bash
# 免密登录数据库
ksql -Usystem -d test -p54321
# 查看所有用户
select rolname , rolpassword from pg_authid;
# 设置新密码
ALTER USER system PASSWORD 'root';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Navicat连接kingbase

kingbase是PostgreSql基础上的二开,直接用新建连接——选择PostgreSql就行了。
注意端口号 和 要连接 的初始数据库
默认用户名: system
默认密码: 123456
在这里插入图片描述

kingbase 的sql语句

容器内无密码登录

ksql -Usystem -d test -p54321
  • 1

退出kingbase数据库

/q
  • 1

查看所有业务表

SELECT
	relname 
FROM
	pg_class 
WHERE
	relkind = 'r' 
	AND relname NOT LIKE'pg_%' 
	AND relname NOT LIKE'sql_%' 
	AND relname NOT LIKE'sysmac_%' 
	AND relname NOT IN ( 'CHECK_TYPE', 'HM_RUN_T', 'CHECK_PARAM', 'dual' ) 
	AND SUBSTRING ( relname, 1, 1 ) <> '_' 
ORDER BY
	relname;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/738408
推荐阅读
相关标签
  

闽ICP备14008679号