国产信创数据库(DM 达梦、大金、OpenGauss)
# 1. DM 达梦数据库
# 1.1 如何安装?
可以使用 Windows 或 Docker 等多种方式。
注意,目前我们使用的是 DM 8.0 的版本。
# 1.1 Windows 方式
① 访问 https://eco.dameng.com/download/ (opens new window) 地址,点击“开发版 (X86平台)”选项,进行下载。
② 傻瓜式安装、数据库实例化,一路下去就好,不用修改任何参数。
# 1.2 Docker 方式
① 访问 https://eco.dameng.com/download/ (opens new window) 地址,点击“Docker 镜像”选项,进行下载。
② 执行如下脚本,启动 Docker 服务:
docker load -i dm8_20240715_x86_rh6_rq_single.tar
docker run -d -p 5236:5236 \
--restart=unless-stopped \
--name dm8_test \
--privileged=true \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/binn \
-e EXTENT_SIZE=32 \
-e BLANK_PAD_MODE=1 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e INSTANCE_NAME=dm8_test \
-v $PWD/dm8_test:/opt/dmdbms/data \
dm8_single:dm8_20240715_rev232765_x86_rh6_64
备注:可以尝试使用大小写不敏感配置 -e CASE_SENSITIVE=N
。需要停止并删除容器后,删除 dm8_test
目录,重新docker run
。
# 1.2 如何导入数据?
使用 DM 管理工具 (opens new window) 进行数据的导入。如果你不是很了解,已可以看看文档:
具体步骤如下:
① 使用 DM 管理工具,新建一个名字为 RUOYI_VUE_PRO
的 schema 模式。如下图所示:
为什么名字是 RUOYI_VUE_PRO 呢?
因为稍后使用的 sql/dm/ruoyi-vue-pro-dm8.sql
文件,使用的 schema 是它噢。后续跑通了,你可以按照自己的修改。
② 点击 DM 管理工具的 [执行 -> 执行脚本] 菜单,选中项目中的 sql/dm/ruoyi-vue-pro-dm8.sql
文件,之后点击 [绿色箭头] 进行执行即可。
友情提示:如果你不想 DM 管理工具,也可以使用其它工具:
# 1.3 如何启动项目?
① 修改 yudao-spring-boot-starter-mybatis
模块的 pom.xml
文件,将 DM 依赖的 DmJdbcDriver18
的 optional
移除(注意,需要使用 IDEA 刷新下 Maven 的依赖)。如下图所示:
② 修改 application-local.yaml
配置文件,将数据库的 url
、username
、password
修改为 DM 数据库。例如说:
③ 后续启动项目,就可以了。
疑问:启动报“无效的模式名[RUOYI_VUE_PRO]”错误,怎么解决?
可以把上图的 url
中的 ?schema=RUOYI_VUE_PRO
部分去掉后,再重启下,试试看。
# 1.4 常见问题?
# 1.4.1 大小写敏感?
参考 《详解 DM 数据库字符串大小写敏感》 (opens new window) 文档
# 1.4.2 Quartz 定时任务?
Quartz 定时任务,已经适配,直接参考 《定时任务》 使用。
实现思路非常简单:
- Quartz 初始化使用
tables_oracle
(opens new window) 脚本,去掉前面的delete
和drop
部分 spring.quartz.properties.org.quartz.jobStore.driverDelegateClass
使用org.quartz.impl.jdbcjobstore.StdJDBCDelegate
类。不过网上也有人说使用org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
类,我暂时没跑成功
# 1.4.3 Flowable 工作流?
Flowable 工作流的适配,可参考 《工作流(达梦适配)》。
短期内暂时没时间适配,欢迎你搞了之后,pull request 贡献给项目,从而帮助到更多人!
# 2. KingbaseES 大金数据库
# 1.1 如何安装?
可以使用 Windows 或 Docker 等多种方式。
注意,目前我们使用的是 V008R006C008B0020 的版本。
# 1.1 Windows 方式
# 1.2 Docker 方式
① 访问 https://www.kingbase.com.cn/xzzx/index.htm (opens new window) 地址,点击左侧的“软件版本 -> 数据库” 菜单,再点击“docker镜像”选项,进行下载:
- x86_64 版本 (opens new window) 【Windows 选择这个】
- aarch64 版本 (opens new window) 【MacBook Apple Silicon 选择这个】
② 执行如下脚本,启动 Docker 服务:
docker load -i kdb_x86_64_V009R001C001B0025.tar
docker run -d -p 54321:54321 \
--restart=unless-stopped \
--name kingbase_test \
--privileged=true \
-e NEED_START=yes \
-e DB_USER=root \
-e DB_PASSWORD=123456 \
-e DB_MODE=oracle \
kingbase_v009r001c001b0025_single_x86:v1
# 2.2 如何导入数据?
① 使用 Navicat 工具,选择 PostgreSQL 数据库,即可连接。如下图所示:
② 选择 test
数据库的 public
模式,右键选择“运行 SQL 文件”,选择项目中的 sql/kingbasees/ruoyi-vue-pro.sql
文件,之后点击 [开始] 按钮。
# 2.3 如何启动项目?
① 修改 yudao-spring-boot-starter-mybatis
模块的 pom.xml
文件,将 KingbaseES 依赖的 kingbasees-jdbc
的 optional
移除(注意,需要使用 IDEA 刷新下 Maven 的依赖)。如下图所示:
② 修改 application-local.yaml
配置文件,将数据库的 url
、username
、password
修改为 KingbaseES 数据库。例如说:
③ 后续启动项目,就可以了。
# 2.4 常见问题?
# 2.4.1 Quartz 定时任务?
Quartz 定时任务,已经适配,直接参考 《定时任务》 使用。
实现思路非常简单:
- Quartz 初始化使用
tables_postgres
(opens new window) 脚本 spring.quartz.properties.org.quartz.jobStore.driverDelegateClass
使用org.quartz.impl.jdbcjobstore.StdJDBCDelegate
类。
# 2.4.2 Flowable 工作流?
Flowable 工作流的适配,可参考如下文章:
- 《flowable 6.7.2 在 spring boot 项目中兼容人大金仓》 (opens new window)
- 《flowable 适配人大金仓 Kingbase 数据库》 (opens new window)
- 《【Kingbase8 数据库】flowable兼容人大金仓 Kingbase8 过程》 (opens new window)
短期内暂时没时间适配,欢迎你搞了之后,pull request 贡献给项目,从而帮助到更多人!
# 3. 华为 OpenGauss
# 3.1 如何安装?
可以使用 Linux 或 Docker 等多种方式。
注意,目前我们使用的是 openGauss 5.0.0 的版本。
友情提示:openGauss 不支持 Windows 系统,所以请使用 Linux 或 Docker 等方式。
# 3.1 Docker 方式
执行如下脚本,启动 Docker 服务:
docker run -d \
--name opengauss-test \
--restart unless-stopped \
-e GS_USERNAME=root \
-e GS_PASSWORD=Yudao@2024 \
-e LD_LIBRARY_PATH=/usr/local/opengauss/lib:/usr/lib \
-p 5432:5432 \
opengauss/opengauss:5.0.0
# 3.2 如何导入数据?
① 参考 《用 JetBrains DataGrip 连接 Huawei openGauss》 (opens new window) 文档,连接 openGauss 数据库。
疑问:为什么不使用 Navicat 进行连接?
因为 Navicat 不支持 openGauss 数据库,而使用 PostgreSQL 进行连接,会出现 “none of the server's SASL authentication mechanisms are supported” 报错。
② 选择 postgres
数据库,右键选择“SQL Scripts -> Run SQL Script...”,选择项目中的 sql/opengauss/ruoyi-vue-pro.sql
文件,之后执行。
# 3.3 如何启动项目?
① 修改 yudao-spring-boot-starter-mybatis
模块的 pom.xml
文件,将 openGauss 依赖的 opengauss
的 optional
移除(注意,需要使用 IDEA 刷新下 Maven 的依赖)。如下图所示:
② 修改 application-local.yaml
配置文件,将数据库的 url
、username
、password
修改为 openGauss 数据库。例如说:
::: 疑问:为什么 jdbc 使用 postgres 数据库连接?
因为 openGauss 是兼容 PostgreSQL 的,所以 JDBC 驱动使用的是 org.postgresql.Driver
。这样,后续和 Quartz 定时任务、Flowable 工作流等等,都是可以兼容的。
:::
③ 后续启动项目,就可以了。
# 3.4 常见问题?
# 3.4.1 Quartz 定时任务?
Quartz 定时任务,已经适配,直接参考 《定时任务》 使用。
实现思路非常简单(因为 jdbc 使用 postgres 数据库连接):
- Quartz 初始化使用
tables_postgres
(opens new window) 脚本
# 3.4.2 Flowable 工作流?
Flowable 工作流,已经适配,直接参考 《工作流》 使用。
也是因为 jdbc 使用 postgres 数据库连接,所以无需去兼容。