1 背景介绍

由于业务需求要求数据库国产化,因此将数据从mysql数据库中迁移到国产达梦数据库中。将mysql中的每个库迁移到达梦不同模式下,下面为详细过程。

2 具体步骤

(1)安装达梦客户端工具

(2)点击选择DM管理工具

(3)创建模式和用户

在用户菜单中,新建一个TEST模式以及相应的用户。

(4)打开DM迁移工具

(5)创建工程

在DM迁移工具中右键空白处,创建一个名为mysql的工程

(6)创建迁移任务

点击新建的mysql工程,右键迁移,新建迁移任务mysqltransfer

(7)配置mysql源

依次添入mysql的ip、port、用户名和密码。

(8)配置达梦数据库信息

依次添入达梦数据的ip、port、用户名和密码,此时选择TEST用户。

选择目的模式为TEST模式,点击下一步

选择全部数据库表,点击下一步

(9)执行迁移任务

点击完成按钮,开始数据库迁移。由于mysql和达梦数据的数据类型不完全一致,可能导致迁移失败,将生成日志,可根据日志修改相应问题。

(10)迁移中的常见问题

关于TIMESTAMP的时间类型
mysql可以设置为ON UPDATE CURRENT_TIMESTAMP该类型时,更新该条数据该字段可以自动刷新;
达梦数据库没有ON UPDATE CURRENT_TIMESTAMP类型,但是可以创建触发器来完成类似操作,mysql的底层应该也是采取的触发器实现此时间类型。
涉及到geometry类型

  1. 达梦数据库中第一次使用geometry类型需要执行几何初始化,否则在设置字段为geometry类型会报错,无效的数据类型。
    几何初始化步骤:
  • 以数据库管理员身份登录 SQL 客户端,然后使用下列命令对几何类型进行初始化:
  • SP_INIT_GEO_SYS(1);
  • 通过发出下列 SQL 命令确认几何类型已初始化:SELECT SF_CHECK_GEO_SYS;
  • 如果几何类型已初始化,则命令将返回以下内容:
LINEID SF_CHECK_GEO_SYS
1 1
  1. 达梦数据的geometry类型为st_geometry,建表填写类型时需填写st_geometry
  2. 当从mysql导出的表数据中包含geometry类型时,系统会导出为ST_GeomFromText(字段)的格式,在导入到达梦数据库中时,需要修改为DMGEO.ST_GEOMFROMTEXT(字段,0)

关于中文字符的问题
LENGTH_IN_CHAR=0 varchar以字节数为单位,gb18030 的一个汉字是两个字节,utf-8 的一个汉字一般是三个字节
LENGTH_IN_CHAR=1 varchar存储的字节数将会按照一定比例扩展, gb18030 时 varchar 的字节数等于定义长度 *2,字符集为 utf-8 时 varchar 的字节数为定义长度 *4
当发现导入数据存在超出字符范围时,可适当修改字段长度

表字段类型修改
由于达梦中没有longtext,JSON类型,因此需要将longtext改为LONGVARCHAR,JSON类型改为 varchar,varchar2,char,clob等作为存储字段的数据类型。

数据库出现锁超时
查出存在锁的session

select a.*,b.NAME,c.SESS_ID from v$lock a
left join sysobjects b on b.ID=a.TABLE_ID
left join v$sessions c on a.TRX_ID=c.TRX_ID;

根据session_id关闭对应的锁

sp_close_session(sess_id);

数据库迁移之mysql到达梦数据库相关推荐

  1. mysql数据迁移到teradata_Mysql迁移到达梦数据库-Mysql到DM的应用迁移-给自增列赋值-GroupBy语法不兼容...

    现象描述 把基于Mysql 的应用移植到达梦数据库,我们进程碰到下面两个问题. 场景一: 在完成了数据和应用系统的移植后,应用一启动,看到日志框框报错:无法给自增列赋值. [仅当指定列列表,且 SET ...

  2. 达梦数据库迁移教程(Mysql迁移到达梦数据库)

    前言 为了适配国产化,需要从 MySQL 迁移到达梦数据库,总体的迁移过程也不算复杂,在此记录如下 一.DM数据迁移工具 1.找到DM数据迁移工具 2.打开DM数据迁移工具 二.迁移工程 1.新建工程 ...

  3. MySQL数据库迁移到达梦数据库过程详解

    1-达梦数据库本地安装: 数据库安装 | 达梦技术文档 2-使用可视化工具迁移达梦数据库: 从 MySQL 迁移到 DM | 达梦技术文档 可能遇到的问题: 2-1 连接数据库失败[Communica ...

  4. mysql数据库迁移到达梦数据库

    说明:在windowns上安装达梦数据库,并从mysql5.7迁移到达梦数据库8,此处使用的是达梦数据库的试用版本,如果要安装标准版或者企业版,可以花钱购买. 下载安装包 从达梦官网下载安装包,下载地 ...

  5. 使用DM数据迁移工具将Excel数据导入到达梦数据库

    需求介绍     需要将Excel文件test1.xlsx的数据导入到达梦数据库表test1中,文件内容如下: 操作步骤 1.数据库创建TEST1表 CREATE TABLE TEST1(ID INT ...

  6. 将数据导入到mysql_06955.10.2如何将CM的外部PostgreSQL数据库迁移至MySQL服务

    作者:朱超杰 文档编写目的 在前面的文章<如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务>介绍了将CM内嵌的PostgreSQL迁移至外部PostgreSQL,因 ...

  7. ef 数据迁移mysql_07116.3.0如何将CM的外部PostgreSQL数据库迁移至MySQL服务

    文档编写目的 在前面的文章<6.3.0-如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务>介绍了将CM内嵌的PostgreSQL迁移至外部PostgreSQL,因为 ...

  8. navicat premium相关应用(将oracle数据库迁移到mysql等)

    navicat premium navicat premium连接到oracle数据库:http://blog.csdn.net/zjx86320/article/details/49464251: ...

  9. zabbix4.0 mysql本地数据库迁移到腾讯云数据库

    转载来源 :zabbix4.0 mysql本地数据库迁移到腾讯云数据库 : https://www.jianshu.com/p/19e40d853466 原环境:centos7.2 mysql5.7 ...

最新文章

  1. 技术图文:Matlab VS. Numpy 矩阵基本运算
  2. WEB开发之如何改善PHP开发方式
  3. LVS/NAT 配置
  4. java8 默认方法_默认方法:Java 8的无名英雄
  5. BeginnersBook Java 示例
  6. 算法导论4--求最大和数组
  7. [转]ExtJs中使用中碰到的三个问题的解决方法
  8. 马哥Linux学习笔记之一——关于多磁盘的组织问题
  9. python中dir函数的作用_【Python】Python内置函数dir详解
  10. MySQL数据库应用与实践教程答案_MySQL数据库应用与实践教程(21世纪高等学校计算机教育实用规划教材)...
  11. 计算机四级题库百度云资源,计算机四级题库
  12. 天融信EDR或企业安全终端卸载需要密码解决办法
  13. unable to resolve host address
  14. DNSPod十问百果园焦岳:为什么开水果店是一门高科技生意?
  15. 如何发布自己的npm包(超详细步骤,博主都在用)
  16. 二叉树的性质及其创建
  17. 数组随机取数(大乐透机选投注)
  18. 跑步装备推荐:跑步运动装备清单分享
  19. 从一位阿里 P9 的年薪和资产聊起!
  20. C语言实现各个排序算法(直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序)

热门文章

  1. 转贴–人生的职业规划:让自己变得重要
  2. JAVA Web学习笔记15 mybatis之查看详情 条件查询
  3. 并联串联混合的电压和电流_串联、并联电路的电压、电流和电阻是关键,“只需8句”口诀搞定...
  4. java fms直播系统_FMS+OBS简单直播方案
  5. 三菱plc,x的n次方程序教程
  6. 2023年值得关注的6大IT趋势
  7. 十分钟带你入门Chrome插件开发
  8. 宿主机kernel识别kvm-vcpu线程的一种方法
  9. 同一服务器下,不同网站登录同步
  10. NLP入门(六)pyltp的介绍与使用