检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例
TRUNCATE 删除表 MySQL在使用TRUNCATE语句删除表数据时可以省略“TABLE”关键字,GaussDB(DWS)不支持这种用法。此外,DSC工具在做迁移TRUNCATE语句时会添加“CONTINUE IDENTITY RESTRICT”关键字。 输入示例 1 2 TRUNCATE
云上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
PASSWORD 在MySQL中,PASSWORD表示用户密码。GaussDB(DWS)不支持该参数,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE `public`.`runoob_alter_test`( `dataType1`
DEFAULT alter table增加列包含not null约束时,如果无default值,在MySQL中会插入默认值,而在GaussDB(DWS)中插入到非空表时会报错,因此针对常见数据类型,alter table add column包含not null约束补充默认default值(详情见表1)。
VALUES (11,'Frank1','Williams',1,2); DELAYED DELAYED插入和替换在MySQL 5.6中被弃用。在MySQL 5.7中,DELAYED不支持。服务器识别但忽略DELAYED关键字,将替换处理为非延迟替换,并生成ER_WARN_L
runDSC.bat -S mysql 图3 DDL转换 可以在output文件夹下查看转换结果。 图4 DDL转换结果 连接GaussDB(DWS),执行以下SQL语句创建目标数据库,本例为migration。 1 CREATE DATABASE database_name WITH
COLLATE 在MySQL中,COLLATE表示默认的数据库排序规则。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_tbl_test`(
唯一索引 普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 父主题: MySQL语法迁移
ALGORITHM MySQL扩展了对ALTER TABLE … ALGORITHM=INSTANT的支持:用户可以在表的任何位置即时添加列、即时删除列、添加列时评估行大小限制。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6
AVG_ROW_LENGTH 在MySQL中,AVG_ROW_LENGTH表示平均每行的长度。 GaussDB(DWS)不支持此属性,并在迁移过程中被DSC删除。 输入示例 1 2 3 4 5 6 CREATE TABLE `public`.`runoob_tbl_test`(
PACK_KEYS 在MySQL中,PACK_KEYS表示MyISAM存储引擎中的压缩索引。GaussDB(DWS)不支持该属性,DSC迁移时会将该属性删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE
DROP删除表 GaussDB(DWS)与MySQL都支持使用DROP语句删除表,但GaussDB(DWS)不支持在DROP语句中使用RESTRICT | CASCADE关键字。DSC工具迁移时会将上述关键字移除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE IF
ENGINE 在MySQL中,ENGINE指定表的存储引擎。当存储引擎为ARCHIVE、BLACKHOLE、CSV、FEDERATED、INNODB、MYISAM、MEMORY、MRG_MYISAM、NDB、NDBCLUSTER和PERFOMANCE_SCHEMA时,DSC支持该属性迁移,迁移过程中会将该属性删除。
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 数据库兼容模型可以在创建数据库时指定(由DB
集合类型 概述 MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。 SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。 类型对照 表1 集合类型对照表 MySQL集合类型 MySQL INPUT GaussDB(DWS)
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
CONNECTION GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该属性删除。 CONNECTION关键字在MySQL中用作引用外部数据源。工具暂不支持该特性的完整迁移。基于当前的临时方案,工具仅仅移除该关键字。 输入示例 1 2 3 4 5 6
了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。下表列出了MySQL数字类型到GaussDB(DWS)的转换示例。 类型对照 表1 数字类型对照表 MySQL数字类型 MySQL INPUT GaussDB(DWS) OUTPUT DEC DEC DEC[(M[
TION、DELAYED、IGNORE、VALUES以及ON DUPLICATE KEY UPDATE。 HIGH_PRIORITY MySQL中如果指定HIGH_PRIORITY,则会覆盖LOW_PRIORITY选项的效果。 输入示例 1 2 3 4 5 6 7 8 9 # HIGH_PRIORITY