目录

RuoYi-使用达梦数据库-MySQL迁移达梦数据库

RuoYi 使用达梦数据库 MySQL迁移达梦数据库

达梦数据库使用

达梦数据库安装路径:/home/aite/dmdbms
达梦数据库版本
RuoYi-Vue V3.8.7版本

https://i-blog.csdnimg.cn/blog_migrate/3a230176e3fc31a1eeb973e57f608bed.png#pic_center

达梦数据库目录说明

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迁移达梦数据库

  1. RuoYi-Vue/sql 目录下的 quartz.sqlry_20240529.sql 两个文件导入MySQL中 https://i-blog.csdnimg.cn/blog_migrate/e0c3bcc5cf833bd43b69089cf5588e3c.png

  2. 打开目录 /home/aite/dmdbms/tool ,双击执行 dts(DM数据迁移工具) ,选择“终端运行”

    https://i-blog.csdnimg.cn/blog_migrate/8efc5fd2dae064ecc13a3e7639f6470f.png

  3. 在达梦数据库内创建模式,模式名称 ruoyi ,并授权给 SYSDBA

    CREATE SCHEMA "ruoyi" AUTHORIZATION "SYSDBA";

开始执行迁移

  1. 创建工程

    https://i-blog.csdnimg.cn/blog_migrate/78b500a0cd9f343546f7e575a108bd99.png

  2. 新建迁移

    https://i-blog.csdnimg.cn/blog_migrate/93d205db25aba51419a91091f08dcc48.png

  3. 进入迁移引导

    • 下一步

      https://i-blog.csdnimg.cn/blog_migrate/4a322cf35cf2a364d7e8cd42bdb35c8d.png

    • 选择迁移方式

      https://i-blog.csdnimg.cn/blog_migrate/33a89a2c4d3bb22154800c5d6664a561.png

    • 输入MySQL源信息

      JDBC URl尽量更换一下:jdbc:mysql://192.168.1.21:3306/ruoyi_vue_05_21?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true

      达梦默认自带的?后面的参数,容易导致mysql连接失败

      https://i-blog.csdnimg.cn/blog_migrate/9ab1ca560fff05a9a8f5d01896d6cdc6.png

      https://i-blog.csdnimg.cn/blog_migrate/85955c76e54aa8cae546202a4204eb5d.png

    • 输入达梦源信息

      https://i-blog.csdnimg.cn/blog_migrate/68fa53bcce762b246f71ab8285d91bd3.png

    • 迁移选项

      https://i-blog.csdnimg.cn/blog_migrate/5d4035aa0c07f22677639afe44f3fa5a.png

    • 指定迁移模式

      https://i-blog.csdnimg.cn/blog_migrate/ef348d39c1126ae9f629b44b93359282.png

    • 选择需要导入的表

      https://i-blog.csdnimg.cn/blog_migrate/4928ba1c255579ea320162a82b79d801.png

    • 检查导入信息,确定后开始执行即可。如果遇到类型不匹配或者其他问题,请自行操作兼容

      https://i-blog.csdnimg.cn/blog_migrate/69140a26a3f0ae44aa13b388a8b9a632.png

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