检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
云上RDS-MySQL数据迁移: RDS、CDM和GaussDB(DWS)均在同一个VPC下,CDM分别与MySQL和DWS建立JDBC连接。如果云上RDS与DWS不在一个VPC,则CDM通过弹性公网IP访问RDS。 迁移前数据检查 连接MySQL实例,查看MySQL数据库情况。 mysql -h <host>-P<port>-u
事务管理 TRANSACTION DSC工具在迁移MySQL事务处理语句时会根据GaussDB(DWS)特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ##该声明仅适用于会话中执行的下一个单个事务 SET
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
MAX_ROWS 在MySQL中,MAX_ROWS表示在表中存储的最大行数。DSC迁移过程时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 CREATE TABLE `public`.`runoob_alter_test`( `dataType1` int
AnalyticDB for MySQL迁移场景 约束与限制 如果在CDM迁移过程中有DELETE、UPDATE操作,无法保证迁移后的数据一致,需要重新迁移。 整库迁移作业一次只能迁移一个数据库,如果迁移多个数据库需要配置多个迁移作业。 在目标端DWS需要创建待同步的数据库和schema。
CHANGE修改列 MySQL使用CHANGE关键字同时修改列名、列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
引名冲突(只支持创建有具体索引名的DDL语句,目前不支持删除索引的重命名,修改该参数需慎重)。 修改配置 打开表1 features-mysql.properties文件中的配置参数配置文件,修改如下参数为true。(默认false:不进行重命名) 1 2 # 创建索引时,是否重新命名索引名
VALUES (11,'Frank1','Williams',1,2); DELAYED DELAYED插入和替换在MySQL 5.6中被弃用。在MySQL 5.7中,DELAYED不支持。服务器识别但忽略DELAYED关键字,将替换处理为非延迟替换,并生成ER_WARN_L
AVG_ROW_LENGTH 在MySQL中,AVG_ROW_LENGTH表示平均每行的长度。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6 CREATE TABLE `public`.`runoob_tbl_test`(
GaussDB(DWS)不支持唯一索引(约束)与主键约束联合使用。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 MySQL唯一索引(约束)与主键约束联合使用的场景在工具迁移时会与OLAP场景下的分布键构成复杂的关系。工具暂不支持唯一索引(约束)与主键约束联合使用的场景。
步骤一:准备MySQL数据 购买RDS实例,参见表1配置关键参数,其他参数可保持默认,如需了解详情请参见RDS文档。 表1 RDS参数 参数项 取值 计费模式 按需计费 区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上 数据库端口 3306
集合类型 概述 MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。 SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。 类型对照 表1 集合类型对照表 MySQL集合类型 MySQL INPUT GaussDB(DWS)
操作也不相同。数据库中的数据存储在数据表中。数据表中的每一列都定义了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。下表列出了MySQL数字类型到GaussDB(DWS)的转换示例。 类型对照 表1 数字类型对照表 MySQL数字类型 MySQL INPUT GaussDB(DWS)
ALGORITHM MySQL扩展了对ALTER TABLE … ALGORITHM=INSTANT的支持:用户可以在表的任何位置即时添加列、即时删除列、添加列时评估行大小限制。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
设置与清除列默认值 MySQL使用ALTER语句设置列默认值时可省略“COLUMN”关键字。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE
添加与删除列 MySQL添加、删除列语句与GaussDB(DWS)存在差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 GaussDB不支持表定义中列序数的变更,工具暂不支持FRIST,AFTER特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 数据库兼容模型可以在创建数据库时指定(由DBCOMPA
运行倾斜的hint 功能描述 指明查询运行时重分布过程中存在倾斜的重分布键和倾斜值,针对Join和HashAgg运算中的重分布进行优化。 语法格式 指定单表倾斜: 1 skew(table (column) [(value)]) 指定中间结果倾斜: 1 skew((join_rel)