一 概述 达梦 DTS是达梦数据库官方提供的数据迁移工具,用于实现主流数据库迁移到达梦数据库(DM)中。本文主要介绍 MySQL 移植到达梦数据库的具体步骤、移植过程中的注意点及常见适配问题。
支持范围:支持达梦 DM6 → DM7 → DM8 同构迁移;支持 Oracle、SQL Server、MySQL、DB2、PostgreSQL 等异构迁移。


二 迁移准备 1. 兼容性参数设置
为了更好的兼容MySQL数据库,需要将达梦数据库的兼容模式设置语法兼容 MYSQL。
参数名
含义
建议值
COMPATIBLE_MODE
是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准 2:兼容 ORACLE 3:兼容 MS SQL SERVER 4:兼容 MYSQL 5:兼容 DM6 6:兼容 TERADATA。
4(表示部分语法兼容 MYSQL),重启数据库生效。
修改COMPATIBLE_MODE参数
-- 以 SYSDBA 登录SP_SET_PARA_VALUE(2, 'COMPATIBLE_MODE', 4);
执行完毕后重启实例
systemctl restart DmServiceDMSERVER
重启后验证:
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='COMPATIBLE_MODE';
返回4
即设置成功,达梦已切换为 MySQL 兼容模式。
2. 创建迁移用户和表空间
从 MySQL 移植到 DM,要先创建好待使用的用户和这个用户的表空间,不要把数据迁移到系统默认的管理员 SYSDBA 用户下和 MAIN 表空间下。
创建 DBTEST 表空间存储 MySQL 中 dbtest 库迁移过来的数据。
--创建表空间dbtest,数据文件为DBTEST.DBF。create tablespace "dbtest" datafile '/data/dmdata/DAMENG/DBTEST.DBF' size 2048 ;
创建 DBTEST 用户并授予权限,使用 dbtest 表空间。
--创建用户,指定用户DBTEST表空间为dbtest,索引表空间为dbtestcreate user "DBTEST" identified by "密码" default tablespace "dbtest" default index tablespace "dbtest";--授予用户DBTEST常规权限grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "DBTEST";
三 迁移步骤 1. 启动迁移工具
使用Windows环境中间服务器上安装DTS进行数据迁移
点击【开始界面】,选择【达梦数据库】菜单,点击【DM 数据迁移工具】,即可进入数据迁移工具,如下图所示:

用达梦 DTS 工具进行数据迁移时,可以调大DTS可使用的内存,操作如下:
修改 dts.ini文件,在 `-vmargs` 段落的最后直接追加一行即可(如果已经有 `-Xmx` 就改现成的,没有就新增)。 把下面这行粘到最后一行,数字按需改大(例如 4G、8G、16G 等):
-Xmx4g
改完后的末尾看起来像这样:
-Dosgi.nl=zh_CN-Xmx4g
保存 dts.ini 后重启 DTS 即可生效。
2. 创建迁移
打开DMDTS迁移工具点击左上方的3色小图标新建迁移工程。

打开刚刚创建的工程右键点击“迁移”,选择“新建迁移”,并自定义 迁移名称。


新建迁移完成后点击下一步。

在“其它数据库迁移到达梦”选项中选择迁移方式为 “MySQL ==> DM”。

3. 连接数据库
迁移方式选择完毕后开始连接数据库,首先连接源端 MySQL 数据库,再连接目的端 DM 数据库。
连接源端 MySQL 数据库。
输入源端 MySQL 数据库相关登录信息,在“数据库名”选项中选择需要迁移的数据库。

连接目的端 DM 数据库
输入目的端 DM 数据库相关登录信息,选择与源端对应的迁移用户连接数据库。

4. 配置迁移对象及策略
迁移对象方式及迁移策略中勾选“保持对象名大小写”。服务器配置高可以将迁移任务最大并发数调大。

勾选“使用默认数据类型映射关系”。

在“迁移策略”中点击“查看数据类型映射关系”。

勾选源端待迁移的数据库。

勾选源端数据库中需要迁移的对象。

5. 开始迁移
检查迁移任务,确认迁移对象是否正确。检查确认后点击“完成”即可开始迁移。

检查迁移结果

迁移完成后如有失败情况,通过点击“查看详细信息”可以查看详细的迁移错误信息,便于定位问题。
6. 更新统计信息
数据核对完成无问题后,应进行一次全库的统计信息更新工作。统计信息更新脚本示例如下:
CALL SP_DB_STAT_INIT();
四 迁移常见问题总结 1.迁移工具mysql数据库连接报错:Public Key Retrieval is not allowed
解决方案:更改连接界面数据库名的默认选项为要连的mysql数据库名字。
2.mysql在进行mediumblob数据类型迁移时,到达梦会转成blob导致数据乱码或者无法展示
解决方案:需要将源端mysql更改为longtext迁移至达梦自动转成clob数据类型。
一 概述 达梦 DTS是达梦数据库官方提供的数据迁移工具,用于实现主流数据库迁移到达梦数据库(DM)中。本文主要介绍 MySQL 移植到达梦数据库的具体步骤、移植过程中的注意点及常见适配问题。
支持范围:支持达梦 DM6 → DM7 → DM8 同构迁移;支持 Oracle、SQL Server、MySQL、DB2、PostgreSQL 等异构迁移。


二 迁移准备 1. 兼容性参数设置
为了更好的兼容MySQL数据库,需要将达梦数据库的兼容模式设置语法兼容 MYSQL。
参数名
含义
建议值
COMPATIBLE_MODE
是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准 2:兼容 ORACLE 3:兼容 MS SQL SERVER 4:兼容 MYSQL 5:兼容 DM6 6:兼容 TERADATA。
4(表示部分语法兼容 MYSQL),重启数据库生效。
修改COMPATIBLE_MODE参数
-- 以 SYSDBA 登录SP_SET_PARA_VALUE(2, 'COMPATIBLE_MODE', 4);
执行完毕后重启实例
systemctl restart DmServiceDMSERVER
重启后验证:
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='COMPATIBLE_MODE';
返回4
即设置成功,达梦已切换为 MySQL 兼容模式。
2. 创建迁移用户和表空间
从 MySQL 移植到 DM,要先创建好待使用的用户和这个用户的表空间,不要把数据迁移到系统默认的管理员 SYSDBA 用户下和 MAIN 表空间下。
创建 DBTEST 表空间存储 MySQL 中 dbtest 库迁移过来的数据。
--创建表空间dbtest,数据文件为DBTEST.DBF。create tablespace "dbtest" datafile '/data/dmdata/DAMENG/DBTEST.DBF' size 2048 ;
创建 DBTEST 用户并授予权限,使用 dbtest 表空间。
--创建用户,指定用户DBTEST表空间为dbtest,索引表空间为dbtestcreate user "DBTEST" identified by "密码" default tablespace "dbtest" default index tablespace "dbtest";--授予用户DBTEST常规权限grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "DBTEST";
三 迁移步骤 1. 启动迁移工具
使用Windows环境中间服务器上安装DTS进行数据迁移
点击【开始界面】,选择【达梦数据库】菜单,点击【DM 数据迁移工具】,即可进入数据迁移工具,如下图所示:

用达梦 DTS 工具进行数据迁移时,可以调大DTS可使用的内存,操作如下:
修改 dts.ini文件,在 `-vmargs` 段落的最后直接追加一行即可(如果已经有 `-Xmx` 就改现成的,没有就新增)。 把下面这行粘到最后一行,数字按需改大(例如 4G、8G、16G 等):
-Xmx4g
改完后的末尾看起来像这样:
-Dosgi.nl=zh_CN-Xmx4g
保存 dts.ini 后重启 DTS 即可生效。
2. 创建迁移
打开DMDTS迁移工具点击左上方的3色小图标新建迁移工程。

打开刚刚创建的工程右键点击“迁移”,选择“新建迁移”,并自定义 迁移名称。


新建迁移完成后点击下一步。

在“其它数据库迁移到达梦”选项中选择迁移方式为 “MySQL ==> DM”。

3. 连接数据库
迁移方式选择完毕后开始连接数据库,首先连接源端 MySQL 数据库,再连接目的端 DM 数据库。
连接源端 MySQL 数据库。
输入源端 MySQL 数据库相关登录信息,在“数据库名”选项中选择需要迁移的数据库。

连接目的端 DM 数据库
输入目的端 DM 数据库相关登录信息,选择与源端对应的迁移用户连接数据库。

4. 配置迁移对象及策略
迁移对象方式及迁移策略中勾选“保持对象名大小写”。服务器配置高可以将迁移任务最大并发数调大。

勾选“使用默认数据类型映射关系”。

在“迁移策略”中点击“查看数据类型映射关系”。

勾选源端待迁移的数据库。

勾选源端数据库中需要迁移的对象。

5. 开始迁移
检查迁移任务,确认迁移对象是否正确。检查确认后点击“完成”即可开始迁移。

检查迁移结果

迁移完成后如有失败情况,通过点击“查看详细信息”可以查看详细的迁移错误信息,便于定位问题。
6. 更新统计信息
数据核对完成无问题后,应进行一次全库的统计信息更新工作。统计信息更新脚本示例如下:
CALL SP_DB_STAT_INIT();
四 迁移常见问题总结 1.迁移工具mysql数据库连接报错:Public Key Retrieval is not allowed
解决方案:更改连接界面数据库名的默认选项为要连的mysql数据库名字。
2.mysql在进行mediumblob数据类型迁移时,到达梦会转成blob导致数据乱码或者无法展示
解决方案:需要将源端mysql更改为longtext迁移至达梦自动转成clob数据类型。
达梦 DTS是达梦数据库官方提供的数据迁移工具,用于实现主流数据库迁移到达梦数据库(DM)中。本文主要介绍 MySQL 移植到达梦数据库的具体步骤、移植过程中的注意点及常见适配问题。
支持范围:支持达梦 DM6 → DM7 → DM8 同构迁移;支持 Oracle、SQL Server、MySQL、DB2、PostgreSQL 等异构迁移。
1. 兼容性参数设置
为了更好的兼容MySQL数据库,需要将达梦数据库的兼容模式设置语法兼容 MYSQL。
参数名 | 含义 | 建议值 |
COMPATIBLE_MODE | 是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准 2:兼容 ORACLE 3:兼容 MS SQL SERVER 4:兼容 MYSQL 5:兼容 DM6 6:兼容 TERADATA。 | 4(表示部分语法兼容 MYSQL),重启数据库生效。 |
修改COMPATIBLE_MODE参数
-- 以 SYSDBA 登录SP_SET_PARA_VALUE(2, 'COMPATIBLE_MODE', 4);
执行完毕后重启实例
systemctl restart DmServiceDMSERVER
重启后验证:
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='COMPATIBLE_MODE';
返回4
即设置成功,达梦已切换为 MySQL 兼容模式。
2. 创建迁移用户和表空间
从 MySQL 移植到 DM,要先创建好待使用的用户和这个用户的表空间,不要把数据迁移到系统默认的管理员 SYSDBA 用户下和 MAIN 表空间下。
创建 DBTEST 表空间存储 MySQL 中 dbtest 库迁移过来的数据。
--创建表空间dbtest,数据文件为DBTEST.DBF。create tablespace "dbtest" datafile '/data/dmdata/DAMENG/DBTEST.DBF' size 2048 ;
创建 DBTEST 用户并授予权限,使用 dbtest 表空间。
--创建用户,指定用户DBTEST表空间为dbtest,索引表空间为dbtestcreate user "DBTEST" identified by "密码" default tablespace "dbtest" default index tablespace "dbtest";--授予用户DBTEST常规权限grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "DBTEST";
1. 启动迁移工具
使用Windows环境中间服务器上安装DTS进行数据迁移
点击【开始界面】,选择【达梦数据库】菜单,点击【DM 数据迁移工具】,即可进入数据迁移工具,如下图所示:
用达梦 DTS 工具进行数据迁移时,可以调大DTS可使用的内存,操作如下:
修改 dts.ini文件,在 `-vmargs` 段落的最后直接追加一行即可(如果已经有 `-Xmx` 就改现成的,没有就新增)。 把下面这行粘到最后一行,数字按需改大(例如 4G、8G、16G 等):
-Xmx4g
改完后的末尾看起来像这样:
-Dosgi.nl=zh_CN-Xmx4g
保存 dts.ini 后重启 DTS 即可生效。
2. 创建迁移
打开DMDTS迁移工具点击左上方的3色小图标新建迁移工程。
打开刚刚创建的工程右键点击“迁移”,选择“新建迁移”,并自定义 迁移名称。
新建迁移完成后点击下一步。
在“其它数据库迁移到达梦”选项中选择迁移方式为 “MySQL ==> DM”。
3. 连接数据库
迁移方式选择完毕后开始连接数据库,首先连接源端 MySQL 数据库,再连接目的端 DM 数据库。
连接源端 MySQL 数据库。
输入源端 MySQL 数据库相关登录信息,在“数据库名”选项中选择需要迁移的数据库。
连接目的端 DM 数据库
输入目的端 DM 数据库相关登录信息,选择与源端对应的迁移用户连接数据库。
4. 配置迁移对象及策略
迁移对象方式及迁移策略中勾选“保持对象名大小写”。服务器配置高可以将迁移任务最大并发数调大。
勾选“使用默认数据类型映射关系”。
在“迁移策略”中点击“查看数据类型映射关系”。
勾选源端待迁移的数据库。
勾选源端数据库中需要迁移的对象。
5. 开始迁移
检查迁移任务,确认迁移对象是否正确。检查确认后点击“完成”即可开始迁移。
检查迁移结果
迁移完成后如有失败情况,通过点击“查看详细信息”可以查看详细的迁移错误信息,便于定位问题。
6. 更新统计信息
数据核对完成无问题后,应进行一次全库的统计信息更新工作。统计信息更新脚本示例如下:
CALL SP_DB_STAT_INIT();
1.迁移工具mysql数据库连接报错:Public Key Retrieval is not allowed
解决方案:更改连接界面数据库名的默认选项为要连的mysql数据库名字。
2.mysql在进行mediumblob数据类型迁移时,到达梦会转成blob导致数据乱码或者无法展示
解决方案:需要将源端mysql更改为longtext迁移至达梦自动转成clob数据类型。

優(yōu)網(wǎng)科技秉承"專業(yè)團(tuán)隊(duì)、品質(zhì)服務(wù)" 的經(jīng)營(yíng)理念,誠(chéng)信務(wù)實(shí)的服務(wù)了近萬家客戶,成為眾多世界500強(qiáng)、集團(tuán)和上市公司的長(zhǎng)期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長(zhǎng)網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營(yíng)銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動(dòng)端應(yīng)用(手機(jī)站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。