检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过CDM将MySQL数据导入GaussDB(DWS)时出现字段超长,数据同步失败 问题现象 MySQL 5.x版本字段长度varchar(n),用CDM同步数据到GaussDB(DWS),同样设置长度为varchar(n) ,但是会出现字段超长,数据同步失败的问题。 原因分析 MySQL5
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
数据操作语句(DML) INSERT UPDATE REPLACE 引号 INTERVAL 除法表达式 GROUP BY转换 ROLLUP 父主题: MySQL语法迁移
迁移后数据一致性验证 场景描述 图1 迁移场景 主要包括云上和云下的MySQL数据迁移,支持整库迁移或者单表迁移,本文以云下MySQL的整库迁移为例。 云下MySQL数据迁移: CDM通过公网IP访问MySQL数据库,CDM与GaussDB(DWS)在同一个VPC下,CDM分别与MySQL和DWS建立JDBC连接。
数据库 在MySQL中,DATABASE 是一种模式对象,等同于Oracle、GaussDB(DWS)数据库的SCHEMA概念。DSC工具迁移时考虑了以下两个场景。 创建数据库 输入示例 create database IF NOT EXISTS dbname1 CHARACTER
UNION UNION 是 MERGE 引擎的建表参数。通过该关键字建表类似于创建普通视图。新创建的表将在逻辑上合并UNION关键字限定的多个表的数据。DSC迁移时会将该特性转为GaussDB视图创建语句。 输入示例 1 2 3 4 5 6 7 8 9 10 11
REPLACE MySQL的REPLACE操作形式包括:LOW_PRIORITY、PARTITION 、DELAYED 、VALUES、SET;(下述迁移示例为临时迁移方案) REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与主键或唯一索引的新行具有相同的值,则在插入新行之前删除该旧行。
使用CDM迁移AnalyticDB for MySQL至GaussDB(DWS)集群 本实践演示如何使用云数据迁移服务CDM将AnalyticDB for MySQL(后面简称ADB)数据迁移到GaussDB(DWS)。 云数据迁移(Cloud Data Migration,简称
'UTF8MB4'; ##mysql中不支持 SET CHARACTER SET 'UCS2'; ##mysql中不支持SET CHARACTER SET 'UTF16'; ##mysql中不支持SET CHARACTER SET 'UTF16LE'; ##mysql中不支持SET CHARACTER
删除索引 MySQL支持DROP INDEX和ALTER TABLE DROP INDEX两种删除索引的语句。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 DROP INDEX 输入示例 1 2 3 4 5 6 7 8 9 10 11 12
数据类型 数字类型 日期和时间类型 字符串类型 空间数据类型 大对象类型 集合类型 布尔类型 二进制类型 JSON类型 父主题: MySQL语法迁移
DEFAULT); IGNORE MySQL INSERT语句如果使用IGNORE修饰符,则执行INSERT语句时发生的错误将被忽略。 输入示例 1 2 3 4 5 6 7 8 9 10 # 如果表中已经存在相同的记录,则忽略当前新数据 INSERT IGNORE INTO
JSON类型 概述 JSON数据类型可以用来存储JSON(JavaScript Object Notation)数据,DSC工具支持以下列出类型转换。 类型对照 输入示例JSON 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
数字类型 概述 数据类型是数据的一个基本属性,用于区分不同类型的数据。不同的数据类型所占的存储空间不同,能够进行的操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。下表列出了MySQL数字类型到GaussDB(DWS)的转换示例。
ROLLUP MySQL中的group by column with rollup需要转换为GaussDB(DWS)中的group by rollup (column); 输入示例 1 2 3 select id,product_id,count(1) from czb_account
GaussDB(DWS)的特性进行相应适配。 MySQL唯一索引(约束)与主键约束联合使用的场景在工具迁移时会与OLAP场景下的分布键构成复杂的关系。工具暂不支持唯一索引(约束)与主键约束联合使用的场景。 内联唯一索引,如存在主键索引与唯一索引是相同列,DSC工具迁移时会将唯一索引移除。
空间数据类型 概述 MySQL具有对应于OpenGIS类的空间数据类型。DSC工具支持以下列出类型转换。 类型对照 表1 空间数据类型对照表 MySQL空间数据类型 MySQL INPUT GaussDB(DWS) OUTPUT GEOMETRY GEOMETRY GEOMETRY
二进制类型 概述 MySQL BIT数据类型被用于存储比特值。一种类型允许存储位值,可以从1到64。 MySQL BINARY和VARBINARY 类似CHAR并且VARCHAR,只不过它们包含二进制字符串。 类型对照 表1 二进制类型对照表 MySQL二进制类型 MySQL INPUT