达梦数据库使用
达梦数据库安装路径:/home/aite/dmdbms
达梦数据库版本
RuoYi-Vue V3.8.7版本
达梦数据库目录说明
cd /home/aite/dmdbms
ls -l
总用量 80
drwxr-xr-x 10 aite aite 12288 5月 31 14:41 bin
drwxr-xr-x 2 aite aite 4096 5月 31 14:37 bin2
drwxrwxr-x 3 aite aite 4096 5月 31 14:41 data
drwxr-xr-x 3 aite aite 4096 5月 31 14:37 desktop
drwxr-xr-x 2 aite aite 4096 5月 31 14:38 doc
drwxr-xr-x 14 aite aite 4096 5月 31 14:38 drivers
drwxr-xr-x 2 aite aite 4096 5月 31 14:37 include
drwxr-xr-x 2 aite aite 4096 5月 31 14:37 jar
drwxr-xr-x 7 aite aite 4096 5月 31 14:36 jdk
-rwxr-xr-x 1 aite aite 1146 7月 25 2023 license_chs.txt
-rwxr-xr-x 1 aite aite 1138 7月 25 2023 license_cht.txt
-rwxr-xr-x 1 aite aite 1071 4月 21 2023 license_en.txt
drwxr-xr-x 2 aite aite 4096 6月 1 10:18 log
drwxr-xr-x 6 aite aite 4096 5月 31 14:37 samples
drwxr-xr-x 3 aite aite 4096 5月 31 14:37 script
drwxr-xr-x 11 aite aite 4096 6月 1 10:19 tool
drwxr-xr-x 3 aite aite 4096 5月 31 14:38 uninstall
-rwxr-xr-x 1 aite aite 2208 5月 31 14:38 uninstall.sh
目录说明
-
bin
存放常用命令和.so(shared object)文件(动态链接库类似Windows的ddl文件、Linux的lib目录)
-
bin2
存放utf8的lib库
-
data
存放数据库对应数据文件及配置文件,重做日志文件
-
desktop
存放Linux的软链接,类型windows的桌面快捷方式
-
doc
存放帮助手册
-
drivers
存放一些驱动,如连接JDBC、python
-
include
头文件 ©.h
-
jar
封装好的jar包、导出导入、日志挖掘、快速加载、jdk
-
jdk
达梦需要的JDK环境
-
log
存放日志(安装,工具日志,及数据库运行时生成的日志)(启动,关闭,报错)
-
samples
存放示例模板
-
script
存放脚本文件
-
tool
存放客户端工具(管理工具,迁移工具,控制台工具,数据库配置助手等)
-
uninstall
存放uninstall.sh,卸载数据库的工具
MySQL迁移达梦数据库
- 将
RuoYi-Vue/sql
目录下的quartz.sql
、ry_20240529.sql
两个文件导入MySQL中 - 打开目录
/home/aite/dmdbms/tool
,双击执行dts(DM数据迁移工具)
,选择“终端运行”
- 在达梦数据库内创建模式,模式名称
ruoyi
,并授权给SYSDBA
CREATE SCHEMA "ruoyi" AUTHORIZATION "SYSDBA";
开始执行迁移
-
创建工程
-
新建迁移
-
进入迁移引导
-
下一步
-
选择迁移方式
-
输入MySQL源信息
JDBC URl尽量更换一下:jdbc:mysql://192.168.1.21:3306/ruoyi_vue_05_21?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
达梦默认自带的?后面的参数,容易导致mysql连接失败
-
输入达梦源信息
-
迁移选项
-
指定迁移模式
-
选择需要导入的表
-
检查导入信息,确定后开始执行即可。如果遇到类型不匹配或者其他问题,请自行操作兼容
-
RuoYi-Vue配置达梦数据库驱动
达梦数据库JDBC驱动路径: /home/aite/dmdbms/drivers/jdbc/DmJdbcDriver18.jar
执行指令将驱动安装到mvn本地仓库
mvn install:install-file -Dfile=/home/aite/dmdbms/drivers/jdbc/DmJdbcDriver18.jar -DgroupId=com.dm.datasource -DartifactId=Dm7JdbcDriver18 -Dversion=8.0 -Dpackaging=jar
ruoyi-admin/pom.xml 引入驱动
pom文件中引入本地jar包依赖
<!-- 达梦驱动包 -->
<dependency>
<groupId>com.dm.datasource</groupId>
<artifactId>Dm7JdbcDriver18</artifactId>
<version>8.0</version>
<scope>system</scope>
<systemPath>/home/aite/dmdbms/drivers/jdbc/DmJdbcDriver18.jar</systemPath>
</dependency>
在springboot的maven工具增加includeSystemScope功能(重点: @SpringBootApplication 注解所在工程)
作用:打包时将scope为system的jar包一并打入包内
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 作用:项目打成jar的同时将本地jar包也引入进去 -->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
或者
<!-- 达梦驱动包 -->
<dependency>
<groupId>com.dm.datasource</groupId>
<artifactId>Dm7JdbcDriver18</artifactId>
<version>7.6.0.165</version>
</dependency>
修改数据库连接配置
驱动:dm.jdbc.driver.DmDriver
JDBCURL配置:jdbc:dm://127.0.0.1:5236/模式名称?schema=模式名称
达梦数据库账号:SYSDBA
达梦数据库密码:123456
application-druid.yml
配置如下
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: dm.jdbc.driver.DmDriver
druid:
# 主库数据源
master:
url: jdbc:dm://127.0.0.1:5236/ruoyi?schema=ruoyi
username: SYSDBA
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
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: true