> 技术文档 > 若依框架SpringBoot从Mysql替换集成人大金仓(KingBase)数据库_springboot kingbase

若依框架SpringBoot从Mysql替换集成人大金仓(KingBase)数据库_springboot kingbase


一、安装人大金仓数据库

1、下载

前往人大金仓数据库下载自己想要的版本(建议下载Mysql兼容版)人大金仓官网,点击服务与支持,点击安装包下载

点击软件版本,选择数据库

选择合适的版本,点击下载,我这边选择的是mysql兼容版

下载完成后是一个iso文件

2、Windows安装

解压iso文件,解压完成后如图所示:

双击exe文件,进入图形化安装

选择【安装新的实例】,点击【确认】,开始安装KingbaseES

点击下一步,选择完全安装

没有授权文件直接点击下一步

一直下一步到初始化数据库,首先选择数据库数据目录,默认数据目录为安装目录下的data目录。如使用默认安装目录,则数据目录默认为C:\\Program Files\\Kingbase\\ES\\V9\\data。

  • 默认端口为:54321(可自定义)

  • 默认账户为:system(可自定义)

  • 密码(自定义)

  • 默认大小写敏感为:是(尽量选择否,这样后期会少踩坑)

  • 安装完成

3、Liunx安装(Ubuntu)

3.1、图形化安装

 下载合适版本的iso文件,然后创建一个文件夹,用于挂载iso文件

切换root用户进行挂载

mount KingbaseES_V009R001C002B0014_Lin64_install.iso ./KingbaseESV9

安装完成后可取消挂载

umount ./KingbaseESV9

挂载完成后,进入到挂载文件夹下

查看是否支持中文

echo $LANG

 如果不支持就设置一下

export LANG=zh_CN.UTF-8

 输入命令启动图形化安装

sh setup.sh -i swing

等待启动后安装步骤和windows一样(注意,Linux安装金仓数据库必须要有jdk)

安装完成后到安装目录下找到/install/script/root.sh ,输入命令运行

./root.sh

3.2、命令安装

同样先挂载iso文件,然后输入命令

sh setup.sh -i console

查看是否支持中文

echo $LANG

 如果不支持就设置一下

export LANG=zh_CN.UTF-8

进入命令安装, 输入1,再按,选择“安装新的实例”;

选择“定制安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 。

授权文件如果没有就默认回车试用。

此步骤用于选择安装路径。默认安装路径是/opt/Kingbase/ES/V9。可直接回车

 

在此步骤会看到即将安装产品的摘要信息。包括:

  • 产品名称。

  • 安装文件夹。

  • 指定安装的功能组件。

  • 安装路径所在磁盘空间信息。

 在此步骤进行安装确认。按键系统开始执行安装过程。

 

安装过程中会不断刷新安装进度。

如选择“完全安装”安装集,安装进度100%之后,将至 初始化数据库 

如选择“客户端安装”安装集,安装进度100%之后,将至 安装完成 

如选择“定制安装”安装集,并且选择安装数据库服务器组件,安装进度100%之后,将至 初始化数据库 

 首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。

  • 默认端口为:54321(可自定义)

  • 默认账户为:system(可自定义)

  • 密码(自定义)

  • 默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)

  • 区域,可选值将随字符集编码选项发生变动。

    • 当字符集编码为 default 时,默认区域值为:default(可选 C)

    • 当字符集编码为 UTF8 时,默认区域值为:zh_CN.UTF-8(可选 en_US.UTF-8、C)

    • 当字符集编码为 GBK 时,默认区域值为:zh_CN.GBK(可选 C)

    • 当字符集编码为 GB2312 时,默认区域值为:zh_CN.GB2312(可选 C)

    • 当字符集编码为 GB18030 时,默认区域值为:zh_CN.GB18030(可选 C)

  • 默认数据库兼容模式为:ORACLE(可选 PG、MySQL)

  • 默认大小写敏感为:是(可选否)

  • 默认数据块大小为:8k(可选16k、32k)

  • 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)

 

 数据库兼容模式

大小写敏感

安装完成

安装完成后到安装目录下找到/install/script/root.sh ,输入命令运行

./root.sh

 二、KStudio使用

找到安装位置,打开此文件夹

 

 双击打开即可,点击连接,新建连接

 

输入账号密码等信息,测试连接,显示成功即可

 连接成功后新建数据库

 输入相关信息,点击确定即可

 三、KDts数据迁移使用

1、Windows使用

找到该目录双击打开

 选择WEB

 bin目录下

 管理员身份运行

 

使用谷歌浏览器进行访问

访问地址: http://localhost:54523/

默认用户名及密码:kingbase / kingbase

2、Linux使用

找到和windows同级目录然后输入命令

./startup.sh

3、MySQL数据迁移为金仓

新增MYSQL数据源

 输入相关信息,进行测试连接

新建目标数据库

 输入相关信息,版本选择V9进行连接测试

 新增迁移任务

 输入相关信息

 选择相关模式

 直接下一步

 点击保存

点击启动

点击详情可查看进度和成功数,如果有失败的可以查看具体信息,大概率是字段类型对应不上

 四、SpringBoot集成人大金仓

添加pom依赖

  cn.com.kingbase kingbase8 8.6.0 

修改若依配置文件

# 数据源配置spring: datasource: driver-class-name: com.kingbase8.Driver # 使用人大金仓的JDBC驱动 url: jdbc:kingbase8://192.168.10.14:54321/mas_system?currentSchema=mysql type: com.alibaba.druid.pool.DruidDataSource name: master username: system password: Argo1234 druid: # 主库数据源 master: enabled: true # 初始连接数 initialSize: 5 # 最小连接池数量 minIdle: 10 # 最大连接池数量 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: 900000 # 配置检测连接是否有效 validationQuery: SELECT 1 # 尝试其他SQL来验证连接有效性 testWhileIdle: true testOnBorrow: false testOnReturn: false webStatFilter: enabled: true statViewServlet: enabled: true # 设置白名单,不填则允许所有访问 allow: \"*\" url-pattern: /druid/* # 控制台管理用户名和密码 login-username: ruoyi login-password: 123456 filter: stat: enabled: true # 慢SQL记录 log-slow-sql: true slow-sql-millis: 1000 merge-sql: true wall: config: multi-statement-allow: truemybatis-plus: global-config: db-config: update-strategy: NOT_NULL # 更新策略,确保只更新非空字段 schema: mysql # 设置数据库模式

 指定数据库模式

如果不生效的话可以在url中写

 模式就是金仓数据库的模式,可以自己创建,也可以用自带的

 尝试启动,报错信息xxx不存在,就是代表不兼容,需要指定模式

在错误地点加上模式就可以了

再次启动成功。

五、注意

还是有很多不兼容的地方,包括MySQL的部分语法和字段类型,哪里报错就具体转换成KingBase适合的模式