mysql 转换大写 达梦数据库迁移(MySQL_to_DM)

达梦数据库迁移(MySQL_to_DM)

基本信息:

类型

数据库

IP:端口

版本

迁移对象

源库

MySQL

172.16.11.101:13309

5.7.24

表、视图、存储过程等对象

目标库

达梦DM

172.16.11.101:5238

DM V8

迁移说明:

DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。

DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。

可以使用 DM 数据迁移工具 (DTS),进行 MySQL 到 DM 的迁移,MySQL 和 DM 数据库的语法兼容性不高。

关于语法,对于表、视图或游标等对象的创建语法存在不同,需要基于 DM 数据库的语法进行改写;

部分 MySQL 数据库自带的系统包、函数、存储过程在 DM 数据库中也不支持,同样需要手动改写或重建相同功能的对应对象。

关于数据,MySQL 中的某些数据,在 DM 中可能会被判定为不合法,需要进行修改。

DM数据迁移工具支持:

◆ 主流大型数据库Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到DM;

◆ ODBC数据源、JDBC数据源的模式、表、视图迁移到DM;

◆ DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle;

◆ DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移;

◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到XML文件;

◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到SQL脚本文件;

◆ DM数据库的表、视图数据迁移到文本文件;

◆ DM数据库的表、视图数据迁移到Excel文件;

◆ DM数据库的表、视图数据迁移到Word文件;

◆ SQL脚本文件迁移到DM数据库;

◆ XML文件迁移到DM数据库;

◆ 指定格式的文本文件、Word文件和Excel文件迁移到DM数据库。

迁移前准备:1.修改达梦数据库参数

在迁移数据之前,需要修改 DM 数据库参数,修改兼容参数为兼容 MySQL 数据库 COMPATIBLE_MODE=4 ,重启数据库服务使其生效即可。

[dmdba@cjc-db-03 CHEN]$ pwd/dm8/data/CHEN[dmdba@cjc-db-03 CHEN]$ vi dm.ini

默认0,改成4。

大写转换小写_大写转换器在线查询_mysql 转换大写

数字代表的含义:

#Server compatible mode, 0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata

修改:

COMPATIBLE_MODE = 4

重启DM数据库

[root@cjc-db-03 ~]# systemctl stop DmServiceCJC.service[root@cjc-db-03 ~]# systemctl start DmServiceCJC.service

2.创建目标用户

注意:生产库需要创建用户对应的表空间,权限最小化。

disql SYSDBA/******:5238SQL> create user CJC identified by "******";SQL> grant dba to CJC;

3.生成测试数据

测试环境,新增测试数据

###MySQL 5.7.24

mysql> create database cjcdb;mysql> grant all privileges on cjcdb.* to cjc@'%';mysql> flush privileges;

###新增测试数据

[mysql@cjc-db-03 ~]$ mysql -ucjc -p

###新增表

mysql> CREATE TABLE T1(ID INT,NAME varchar(30),key(ID));mysql> INSERT INTO T1 VALUES(1,'AAA');mysql> INSERT INTO T1 VALUES(2,'BBB');mysql> INSERT INTO T1 VALUES(3,'CCC');

###新增视图

mysql> create view v_t1 as select name from t1 where id=1;

###新增存储过程

DELIMITER $$CREATE PROCEDURE p_t1_avg()BEGIN  SELECT avg(id) from t1;END$$;DELIMITER;mysql> use cjcdbDatabase changed

mysql> call p_t1_avg();+---------+| avg(id) |+---------+| 2.0000 |+---------+1 row in set (0.31 sec)Query OK, 0 rows affected (0.31 sec)

迁移:

1.打开DTS迁移工具

可以打开达梦数据库服务器上自带的DTS工具

[dmdba@cjc-db-03 tool]$ export DISPLAY=172.16.11.73:0.0[dmdba@cjc-db-03 tool]$ sh dts

mysql 转换大写_大写转换器在线查询_大写转换小写

如果无法启用图形,可以在windows系统上安装达梦工具。

mysql 转换大写_大写转换器在线查询_大写转换小写

mysql 转换大写_大写转换器在线查询_大写转换小写

大写转换小写_mysql 转换大写_大写转换器在线查询

2.新建工程

mysql 转换大写_大写转换小写_大写转换器在线查询

3.新建迁移

mysql 转换大写_大写转换小写_大写转换器在线查询

欢迎界面

mysql 转换大写_大写转换器在线查询_大写转换小写

4.选择源库、目标库数据类型

mysql 转换大写_大写转换小写_大写转换器在线查询

5.配置源数据库信息

mysql 转换大写_大写转换器在线查询_大写转换小写

mysql 转换大写_大写转换器在线查询_大写转换小写

刷新,下一步

6.配置目标数据库信息

注意:

默认是SYSDBA,建议使用单独的业务用户,不要将业务数据存放在SYSDBA用户下。

大写转换小写_mysql 转换大写_大写转换器在线查询

7.迁移选项

注意:

去掉保持对象名大小写,达梦数据库不支持小写对象名。

mysql 转换大写_大写转换器在线查询_大写转换小写

8.查看默认类型映射关系

mysql 转换大写_大写转换小写_大写转换器在线查询

mysql 转换大写_大写转换小写_大写转换器在线查询

大写转换小写_mysql 转换大写_大写转换器在线查询

9.指定模式、对象

mysql 转换大写_大写转换器在线查询_大写转换小写

大写转换器在线查询_大写转换小写_mysql 转换大写

转换,查看映射关系

大写转换器在线查询_大写转换小写_mysql 转换大写

分析对象

大写转换小写_mysql 转换大写_大写转换器在线查询

10.开始迁移

下一步

大写转换小写_mysql 转换大写_大写转换器在线查询

可以看到,对象名,自动转换为大写

完成

mysql 转换大写_大写转换器在线查询_大写转换小写

迁移报告

大写转换小写_mysql 转换大写_大写转换器在线查询

迁移详细

大写转换器在线查询_大写转换小写_mysql 转换大写

迁移后检查:1.查看对象

迁移前

SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ----------- -----------1 CJC         SCH

迁移后

大写转换小写_大写转换器在线查询_mysql 转换大写

SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ----------- -----------1 CJC           SCH2 P_T1_AVG      PROCEDURE3 V_T1          VIEW4 T1            TABLE5 ID            INDEX6 INDEX33555469 INDEX6 rows gotused time: 10.446(ms). Execute id is 1411.

2.查看表数据

SQL> select * from cjc.t1;LINEID ID          NAME---------- ----------- ----1 1           AAA2 2           BBB3 3           CCCused time: 0.993(ms). Execute id is 1412.

3.查看视图

SQL> select * from cjc.v_t1;LINEID NAME---------- ----1 AAAused time: 1.241(ms). Execute id is 1413.

4.查看存储过程

SQL> call cjc.p_t1_avg;LINEID AVG(ID)---------- --------1 2.000000used time: 1.732(ms). Execute id is 1414.

5.查看对象创建语句

视图

存储过程

大写转换小写_mysql 转换大写_大写转换器在线查询

迁移遇到的问题:1.无法连接源MySQL数据库

连接MySQL库失败,提示如下:

错误号: 0

错误消息: Communications link failure

The last packet successfully received from the server was 20 milliseconds ago. The last packet sent successfully to the server was 12 milliseconds ago.

大写转换器在线查询_mysql 转换大写_大写转换小写

解决方案:

1.下载驱动

驱动路径下载

大写转换器在线查询_mysql 转换大写_大写转换小写

驱动文件名:mysql-connector-java-8.0.11.jar

2.使用自定义URL

大写转换小写_mysql 转换大写_大写转换器在线查询

jdbc:mysql://172.16.11.101:13309/?tinyInt1isBit=false&transformedBit1sBoolean=false

改成

jdbc:mysql://172.16.11.101:13309/cjcdb?tinyInt1isBit=false&transformedBit1sBoolean=false&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true

3.驱动路径

指定新下载的mysql-connector-java-8.0.11.jar驱动文件

刷新,下一步

查看mysql-connector-java与MySQL数据库的版本对应关系:

参考链接:

mysql 转换大写_大写转换小写_大写转换器在线查询

2.INVALID OBJECT NAME

建议后检查对象和数据,报错:

无法查看表结构

SQL> desc cjc.t1;[-20001]:INVALID OBJECT NAME-20001: OBJ_IS_EXISTS line 201-20001: SHOW_PARA_INFO line 302 .used time: 4.056(ms). Execute id is 0.

无法查看表数据

SQL> select * from cjc.t1;select * from cjc.t1;[-2106]:Error in line: 1Invalid table or view name [T1].used time: 0.528(ms). Execute id is 0.

无法查看视图等

SQL> select * from cjc.v_t1;select * from cjc.v_t1;[-2106]:Error in line: 1Invalid table or view name [V_T1].used time: 0.589(ms). Execute id is 0.

问题原因:

前面配置迁移选项,默认勾选了 保持对象名大小写。

由于MySQL数据库支持小写对象名,但达梦数据库不支持小写对象名,所以迁移后无法正确识别和使用对象数据。

通过管理工具可以看到,迁移后的对象名都是小写。

大写转换小写_mysql 转换大写_大写转换器在线查询

查看建表语句

mysql 转换大写_大写转换小写_大写转换器在线查询

达梦数据库会将对象小写名称自动转换为大写

新建表t2,小写

SQL> create table cjc.t2(id int);

插入数据

SQL> insert into cjc.t2 values(1);SQL> commit;

表名会被自动转换为大写

大写转换小写_mysql 转换大写_大写转换器在线查询

解决方案:

迁移选项部分 去掉 保持对象名大小写 部分,重新迁移。

mysql 转换大写_大写转换器在线查询_大写转换小写

参考:

DM 数据迁移工具https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-migrate.html MySQL 迁移到 DMhttps://eco.dameng.com/document/dm/zh-cn/faq/faq-mysql-dm8-migrate.htmlDM DBA手记之MySQL移植到DM.pdfhttps://eco.dameng.com/eco-file-server/file/eco/download/2022081614103389JN7U46DVP8TURGBF达梦迁移工具连接 mysql 数据库错误,mysql5.7迁移到dm8https://blog.csdn.net/weixin_44990616/article/details/129078603

###chenjuchao20230722###

原创文章,作者:筱凯,如若转载,请注明出处:https://www.jingyueyun.com/ask/667.html

(0)
筱凯筱凯
上一篇 2024 年 7 月 13 日
下一篇 2024 年 7 月 13 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,500M大带宽限量抢购  >>点击进入