本系统前(vue)后端(java spring boot)为列子,数据库由MySQL--->DM(达梦),中间件为中创的国产化相关软件,如tomcat、nginx、redis等。重点讲数据库及代码端的更改,中间件在服务端以替换的国产化软件替换即可。
1、数据迁移:mysql-->DM
1)首先安装DM数据库,官网下载安装:产品下载 | 达梦在线服务平台
2)安装完毕会由DM迁移工具,用这个工具实现数据库迁移
3)后续就是下一步执行,选择相关数据库及表,执行无误之后就迁移完成,返回DM管理工具(达梦数据库客户端)即可看到已迁移完毕,迁移过程中可能出现问题,如字段、数据冲突等,所以空表迁移问题最少,遇到具体问题根据日志修改后从新执行,我这里五六个库几十张表一起迁移,一次成功,时间几秒钟。(表不复杂,数据少,注意客户端上有当前登录名和端口,后续会用到)
4)DM忘记密码怎么办?手工修改dm.ini(安装路径:xxx\DM\data\DAMENG),添加参数配置 ENABLE_LOCAL_OSAUTH
= 1,先关闭服务,修改ini后重启就可以登录设置密码。后续添加的参数删除。
2、数据迁移完毕后更改后端配置(前端不用改造)。
1)更改pom文件配置:添加达梦驱动依赖
2)更改application.yml数据库连接配置,有三个地方需要注意。url连接变化,与mysql的区别,以及dm驱动。
3、错误排查举例,这个配置的地方尝试依次去掉filters: stat,slf4j,wall,我的去掉wall就正常了。如出现其他问题也可根据提示慢慢排查。
Caused by: java.lang.IllegalStateException: dbType not support : dm, url jdbc:dm://127.0.0.1.......
4、改造工程,接下来配置等准备工作做完就是改造的大工程了,也就是mysql和达梦不兼容的sql语法、函数等改造,把mysql中不适配的语法、函数替换为相同作用的dm语法和函数,这里涉及的比较多我就不一一举例了,可根据错误去逐一替换,最后解决所有报错,及系统相关功能检查,所有sql检查后,代码层面系统基本就基本完成,剩余服务端根据提供的国产化工具进行替换就行。后续处理这些sql遇到的问题会再发出来。
5、一些查询的例子,可参考:
MySQL/人大金仓与达梦(DM)SQL语言的一些区别_mysql与达梦语法区别-CSDN博客
达梦数据和mysql数据库的区别_达梦数据库和mysql的区别-CSDN博客