若依框架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适合的模式