当前位置:   article > 正文

信创:人大金仓初体验_virtualbox 安装kingbase服务器

virtualbox 安装kingbase服务器

信创:人大金仓初体验

容器:docker
版本:Kingbase V8R6
服务器:CentOS
后端环境:Python 3.7
后端框架:Django

一、Docker安装KingBase

1、前置准备

进入人大金仓官网下载中心

(1)下载数据库安装包
CPU选择X86,操作系统选择Linux,类型选择docker镜像。

在这里插入图片描述
(2)下载接口驱动
CPU选择X86,操作系统选择Linux,接口类型选择Python。下载V8R6_DJANGO。

在这里插入图片描述
(3)下载授权文件

在这里插入图片描述

2、安装KingBase,初始授权30天

(1)将tar文件(kdb_x86_64_v008r006c008b0014.tar)上传到服务器,执行命令生成镜像文件。

docker load -I kdb_x86_64_v008r006c008b0014.tar
  • 1

在这里插入图片描述

(2) 启动镜像并挂载

docker run -idt --privileged -p 54321:54321 \
-v /root/kingbase/data:/home/kingbase/userdata/ \
-e DB_PASSWORD=654321 \
--name kingbase \
kingbase:v1 \
/usr/sbin/init
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

(3)查看KingBase镜像

docker logs kingbase
  • 1

在这里插入图片描述

(4)进入容器

docker exec -it kingbase /bin/bash
  • 1

(5)执行命令(看情况执行)

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

(6)进入数据库

ksql -Usystem -d test -p54321
  • 1

(7)修改system用户密码

ALTER USER system PASSWORD 'your password';
  • 1

(8)防火墙开启对外端口

(9)navicat访问连接 (默认初始数据库TEST)
在这里插入图片描述

3、修改数据库License授权

进入data/etc更换license.dat文件
授权:chmod 777 license.dat
navicat查看剩余时间:select get_license_validdays();

4、Django连接KingBase

(1)修改settings配置
在这里插入图片描述
在这里插入图片描述

(2)将Django_dialect文件夹下面的Django-2.2.14-for-py3里面的kingbase放入虚拟环境(D:\Python\Virtualenvs\django_vue_admin\Lib\site-packages\django\db\backends)中
在这里插入图片描述

(3)安装psycopg2

pip install psycopg2
  • 1

(4)报错处理:No module named 'ksycopg2'
下载KingbaseES V8的python驱动,下载地址:https://kingbase.oss-cn-beijing.aliyuncs.com/KES/07-jiekouqudong/Python.rar

解压找到对应版本的包(ksycopg2-windows-amd64-MSVC2013-python3.7-64bit)。

ksycopg2放如D:\Python\Virtualenvs\django_vue_admin\Lib\site-packages目录下。

在这里插入图片描述

(5)报错处理:python authentication method 10 not supported

/root/kingbase/data/下面找到sys_hba.conf文件,编辑修改 scram-sha-256trust

在这里插入图片描述

(6)Django正常启动

在这里插入图片描述

5、报错问题记录

问题1: 空字符串与null
描述: null value in column \"password\" violates not-null constraint\nDETAIL: Failing row contains…
原因: Kingbase默认会将空格字符串当做null处理,mysql不会。为了达到兼容修改kingbase.conf以下配置:ora_input_emptystr_isnull = off

在这里插入图片描述
查看是否修改成功:show ora_input_emptystr_isnull;
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/738401
推荐阅读
  

闽ICP备14008679号