当前位置: 首页 > news >正文

若依框架SpringBoot从Mysql替换集成人大金仓(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,再按<ENTER>,选择“安装新的实例”;

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

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

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

 

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

  • 产品名称。

  • 安装文件夹。

  • 指定安装的功能组件。

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

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

 

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

如选择“完全安装”安装集,安装进度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依赖

       <dependency><groupId>cn.com.kingbase</groupId><artifactId>kingbase8</artifactId><version>8.6.0</version></dependency>

修改若依配置文件

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

 指定数据库模式

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

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

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

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

再次启动成功。

五、注意

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

相关文章:

  • Android 中 权限分类及申请方式
  • nlf loss 学习笔记
  • 智能呼入:云蝠大模型赋能政府热线
  • 激活函数全解析:定义、分类与 17 种常用函数详解
  • 编译opencv4.11gstreamer 参考
  • Spring Batch学习,和Spring Cloud Stream区别
  • 高光谱遥感图像处理之数据分类的fcm算法
  • 采用hovernet统计整张病理切片(png)细胞数量并进行RGB可视化
  • 相机Camera日志分析之九:高通相机Camx 基于预览1帧的ConfigureStreams二级日志分析详解
  • 现代简约中式通用,民国画报风,中国风PPT模版8套一组分享
  • Spring Cloud动态配置刷新:@RefreshScope与@Component的协同机制解析
  • iOS音视频解封装分析
  • LangFlow技术深度解析:可视化编排LangChain应用的新范式 -(2)流编辑器系统
  • 深入理解 Git 分支操作的底层原理
  • SZU 编译原理
  • 深度学习笔记23-LSTM实现火灾预测(Tensorflow)
  • C++_STL_map与set
  • HNUST湖南科技大学-安卓Android期中复习
  • 【Android构建系统】了解Soong构建系统
  • 算法基础 -- 小根堆构建的两种方式:上浮法与下沉法
  • 专访|《内沙》导演杨弋枢:挽留终将失去的美好
  • 张广智︱“编年事辑”:打开学人心路历程的窗户
  • 万科再获深铁集团借款,今年已累计获股东借款近120亿元
  • 安徽省委副秘书长、省委政研室主任余三元调任省社科院院长
  • 沈阳一超市疑借领养名义烹食流浪狗,当地市监局:已收到多起投诉
  • 特朗普开启第二任期首次外访:中东行主打做生意,不去以色列