【金仓数据库】
springboot项目金仓数据库
- 学习地址
- 一、下载金仓数据库
- 1、导入镜像
- 2、运行容器
- 2.1、 命令详解:
- 2.2、 启动
- 2.3、 ksql访问(容器内)
- 2.4、 License.dat持久化及更换license
- 3、停止、销毁容器
- 二、Linux安装金仓数据库
- 1、新增用户 设置密码
- 2、目录创建
- 3、挂载iso文件
- 4、图形化安装
- 1、检查语言是否是中文
- 2、开始安装
学习地址
金仓数据库是国产付费数据库
官网地址:https://www.kingbase.com.cn/
docker安装金仓文档:https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9pbnN0YWxsLXVwZGF0YS9pbnN0YWxsLWRvY2tlci9pbmRleC5odG1s
一、下载金仓数据库
下载地址:https://download.kingbase.com.cn/xzzx/index.htm
中间件压缩包:kdb_x86_64_V009R001C002B0014.tar
临时授权文件(买了才有):license_44751_0.dat
1、导入镜像
系统:centos8
镜像存入目录:/usr/local/src/docker-tar/
# 导入镜像
[root@localhost docker-tar]# docker load -i kdb_x86_64_V009R001C002B0014.tar
96723fcc60ed: Loading layer [==================================================>] 309.9MB/309.9MB
3a1017d60ea0: Loading layer [==================================================>] 22.53kB/22.53kB
cd099deb41d7: Loading layer [==================================================>] 7.168kB/7.168kB
c248d1eae5c2: Loading layer [==================================================>] 8.192kB/8.192kB
73aa8302d2a6: Loading layer [==================================================>] 8.704kB/8.704kB
2c81354f8940: Loading layer [==================================================>] 434.5MB/434.5MB
6348b464ae81: Loading layer [==================================================>] 8.192kB/8.192kB
d7ab7cc989d0: Loading layer [==================================================>] 5.632kB/5.632kB
acf47021abde: Loading layer [==================================================>] 3.072kB/3.072kB
73096ce7f3fd: Loading layer [==================================================>] 5.12kB/5.12kB
Loaded image: kingbase_v009r001c002b0014_single_x86:v1
[root@localhost docker-tar]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kingbase_v009r001c002b0014_single_x86 v1 a12899877a42 4 months ago 733MB
nginx latest 7f553e8bbc89 5 months ago 192MB
quay.io/oceanbase/oceanbase-ce latest d29ae3214fa3 5 months ago 649MB
mysql 5.7 5107333e08a8 14 months ago 501MB
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g latest 3fa112fd3642 9 years ago 6.85GB
[root@localhost docker-tar]#
2、运行容器
2.1、 命令详解:
docker run -idt --privileged -p ${hostport}:${containerport} \
–v ${hostpath}:${containerpath} \
-e NEED_START=${need_start} \
-e DB_USER=${username} \
-e DB_PASSWORD=${passwd} \
-e DB_MODE=${dbmode} \
-e ENCODING=${encoding} \
--name kingbase kingbase:v1 \
--restart=always \
/usr/sbin/init
数据库默认用户名:system 数据库默认密码:12345678ab 数据库默认data目录:/home/kingbase/userdata/data 金仓数据库镜像:kingbase:v1
设置数据库data目录的持久化路径时, 需要如下设置:
-v 选项冒号左侧宿主机挂载目录(e.g /mnt/data)权限需要设置755的权限(chmod -R 755 /mnt/data),不然会报权限(Permission denied)错误。
-v 选项冒号右侧为容器内的挂载路径需要设置为/home/kingbase/userdata,不然data目录无法持久化。
2.2、 启动
启动命令:
docker run -tid --privileged \
-p 4321:54321 \
-v /mnt/data:/home/kingbase/userdata/ \
-e NEED_START=yes \
-e DB_USER=kingbase \
-e DB_PASSWORD=Aa123456@ \
-e DB_MODE=oracle \
--name kingbase \
kingbase_v009r001c002b0014_single_x86:v1 /usr/sbin/init
账号:kingbase 密码:Aa123456@
暴露端口:4321
启动后查看:docker ps -a
进入数据库查看:
# 进入:
docker exec -it kingbase /bin/bash
# 查看状态
sys_ctl -D /home/kingbase/userdata/data/ status
2.3、 ksql访问(容器内)
# ksql账号密码登录
ksql -Ukingbase -d test -p54321
# 仅ksql进入
ksql
注意:su - root会导致环境变量丢失,PATH中没有ksql(也无法ksql免密登录),推荐使用su root
2.4、 License.dat持久化及更换license
容器启动后对应的license.dat文件会复制到etc持久化目录,并建立软连接
# 进入容器
docker exec -it kingbase /bin/bash
# 容器内查看命令:
ls -l /home/kingbase/install/kingbase/bin/license.dat
挂载目录下的 license.dat查看:
# 容器外查看
cd /mnt/data/etc
ls
手动替换 license.dat后
进入到容器:
# 进入容器
docker exec -it kingbase /bin/bash
# 进入到 license.dat存放目录下
cd /home/kingbase/userdata/etc
# 切换到root,然后输入密码
sudo su root
# 生效命令:
chown kingbase:kingbase license.dat
chmod 755 license.dat
# 重启docker生效
docker restart kingbase
解决文件在容器内没有权限问题
# 1、进入容器
docker exec -it kingbase /bin/bash
# 2、切换到root
sudo su root
# 3、赋予权限
chown kingbase:kingbase /home/kingbase/userdata/etc/license.dat
chmod 755 /home/kingbase/userdata/etc/license.dat
3、停止、销毁容器
# 停
docker stop kingbase
# 销毁
docker rm kingbase
# 删除挂载的文件数据
rm -rf /mnt/data
二、Linux安装金仓数据库
官网下载:https://download.kingbase.com.cn/xzzx/index.htm
包准备:KingbaseES_V009R001C002B0014_Lin64_install.iso
1、新增用户 设置密码
useradd -m kingbase
passwd kingbase
用户kingbase密码设置为:!Aa123@56
2、目录创建
安装目录
mkdir /opt/Kingbase
mkdir /opt/Kingbase/ES
mkdir /opt/Kingbase/ES/V9
chmod o+rwx /opt/Kingbase/ES/V9
数据目录
mkdir /opt/Kingbase/ES/V9/data
3、挂载iso文件
iso文件放的目录:/usr/local/src/kingbase/
在这目录下创建文件夹:KingbaseESV9
挂载命令:
sudo mount KingbaseES_V009R001C002B0014_Lin64_install.iso ./KingbaseESV9
取消挂载命令:
sudo umount ./KingbaseESV9
4、图形化安装
1、检查语言是否是中文
# 查看系统语言
echo $LANG
# 如果系统显示值包含“zh_CN”,则为中文语言,安装程序会使用中文界面。否则,您可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8
检查磁盘空间是否足够
df -hl
/tmp目录需要至少10G空间,若不够,处理方法:
root用户下
vi /etc/fstab
最下面添加一行(这里12G):
tmpfs /tmp tmpfs nodev,nosuid,size=12G 0 0
重启电脑生效!
2、开始安装
1、切换用户到kingbase
su kingbase
# 若需要输入密码则输入密码:!Aa123@56
2、进入到刚刚挂载的目录:
cd /usr/local/src/kingbase/KingbaseESV9
3、执行
sh setup.sh
或(有界面)
sh setup.sh -i swing