检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 数据库兼容模型可以在创建数据库时指定(由DB
迁移场景 主要包括云上和云下的MySQL数据迁移,支持整库迁移或者单表迁移,本文以云下MySQL的整库迁移为例。 云下MySQL数据迁移: CDM通过公网IP访问MySQL数据库,CDM与GaussDB(DWS)在同一个VPC下,CDM分别与MySQL和DWS建立JDBC连接。 云上RDS-MySQL数据迁移:
Oracle、Teradata和MySQL语法兼容性差异 GaussDB(DWS)支持Oracle、Teradata和MySQL三种兼容模式,分别兼容Oracle、Teradata和MySQL语法,不同兼容模式下的语法行为有一些差异。 表1 兼容项差异 兼容项 Oracle兼容 Teradata兼容
Flink作业实时同步MySQL数据至(GaussDB)DWS集群 本实践演示如何使用华为云DLI服务的Flink作业,将MySQL数据实时同步到GaussDB(DWS)。 了解DLI请参见数据湖产品介绍。 本实践预计时长60分钟,实践用到的云服务包括虚拟私有云 VPC及子网、云数据库 RDS、数据湖探索
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
数据类型 数字类型 日期和时间类型 字符串类型 空间数据类型 大对象类型 集合类型 布尔类型 二进制类型 JSON类型 父主题: MySQL语法迁移
二进制类型 概述 MySQL BIT数据类型被用于存储比特值。一种类型允许存储位值,可以从1到64。 MySQL BINARY和VARBINARY 类似CHAR并且VARCHAR,只不过它们包含二进制字符串。 类型对照 表1 二进制类型对照表 MySQL二进制类型 MySQL INPUT
2 START 1 不作处理 JSON类型 JSON jsonb 不作处理 空间类型 point point 不做处理 polygon polygon 不做处理 geometry 不支持,原状返回 不做处理 linestring polygon 不做处理 geometrycollection
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
布尔类型 概述 MySQL 支持两种布尔写法:BOOL、BOOLEAN。DSC工具支持以下列出类型转换。 类型对照 输入示例BOOL/BOOLEAN 1 2 3 4 5 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`( `dataType_1`
了数据类型,用户存储数据时,须遵从这些数据类型的属性,否则可能会出错。下表列出了MySQL数字类型到GaussDB(DWS)的转换示例。 类型对照 表1 数字类型对照表 MySQL数字类型 MySQL INPUT GaussDB(DWS) OUTPUT DEC DEC DEC[(M[
集合类型 概述 MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。 SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。 类型对照 表1 集合类型对照表 MySQL集合类型 MySQL INPUT GaussDB(DWS)
JSON类型 概述 JSON数据类型可以用来存储JSON(JavaScript Object Notation)数据,DSC工具支持以下列出类型转换。 类型对照 输入示例JSON 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`(
通过CDM将MySQL数据导入GaussDB(DWS)时出现字段超长,数据同步失败 问题现象 MySQL 5.x版本字段长度varchar(n),用CDM同步数据到GaussDB(DWS),同样设置长度为varchar(n) ,但是会出现字段超长,数据同步失败的问题。 原因分析 MySQL5
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
删除索引 MySQL支持DROP INDEX和ALTER TABLE DROP INDEX两种删除索引的语句。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 DROP INDEX 输入示例 1 2 3 4 5 6 7 8 9 10 11 12
BTREE索引 GaussDB(DWS)支持BTREE索引,但USING BTREE关键字在语句中的位置与MySQL存在差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联BTREE索引 输入示例 1 2 3 4 5 6 7 8 9 10
------- 1 (1 row) 原因分析 GaussDB(DWS)支持Oracle、Teradata和MySQL数据库兼容模式。 在TD/MySQL兼容模式下,空和NULL是不相等的,在ORA兼容模式下,空和NULL是相等的。因此上述场景可能是因为两个环境中数据库的兼容性模式设置不一致导致。
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
如源数据为MySQL线下版本,请确保网络连通。 步骤一:准备MySQL源表数据 已购买云数据库RDS的MySQL引擎(本实践以MySQL 8.0.x为例),参见购买RDS实例。 已创建源数据库rds_demo,字符集utf8mb4,且库中已存在表rds_t1和数据。 步骤二:创建DWS集群