上云无忧 > 文档中心 > 百度智能云数据传输服务 DTS 将MySQL作为源端
数据传输服务 DTS
百度智能云数据传输服务 DTS 将MySQL作为源端

文档简介:
本文适用于使用百度智能云数据传输服务DTS(以下简称DTS),将自建MySQL实例或云数据库RDS MySQL实例中的数据迁移至DTS已经支持的数据目标端的场景。 如果源库中待迁移的表没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

1 适用场景

本文适用于使用百度智能云数据传输服务DTS(以下简称DTS),将自建MySQL实例或云数据库RDS MySQL实例中的数据迁移至DTS已经支持的数据目标端的场景。

2 将MySQL数据库作为DTS源的限制

  • 如果源库中待迁移的表没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。
  • 若需要增量迁移,源端需要开启binlog,且binlog_format参数值需要设置为"ROW"。
  • 若需要增量迁移,且源端为MySQL 5.6及以上版本,源端binlog_row_image参数值需要设置为"FULL"。
  • 若需要增量迁移,源端server_id参数值需要设为大于1的整数。

3 将MySQL数据库作为DTS源的前置条件

3.1 环境要求

DTS支持将MySQL 5.1、5.5、5.6、5.7或8.0版本数据库作为源。

3.2 数据库账号授权

数据库 结构迁移 全量迁移 增量迁移
源端MySQL版本为5.1时 SELECT,SHOW VIEW,LOCK TABLES,SUPER SELECT,SHOW VIEW,LOCK TABLES,SUPER SELECT,SHOW VIEW,LOCK TABLES,SUPER,REPLICATION SLAVE
源端MySQL版本大于或等于5.5时 SELECT,SHOW VIEW,LOCK TABLES,REPLICATION CLIENT SELECT,SHOW VIEW,LOCK TABLES,REPLICATION CLIENT SELECT,SHOW VIEW,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE

4 使用MySQL数据库作为DTS源

使用MySQL数据库作为源,在任务创建、任务配置、前置检查、任务启动、任务暂停、任务终止的操作流程请参考最佳实践文档。在任务配置参数部分与其他数据源有些许不同。

连接设置

如上图所示,目前DTS的源端支持自建MySQL实例和云数据库RDS for MySQL实例。以选择公网自建MySQL实例为例,源端配置参数说明如下:

接入类型:"公网"表示使用的是公网自建MySQL实例

数据类型:固定选择"MySQL"

主机名/IP:填写MySQL数据库的访问IP

端口:填写MySQL数据库的服务端口

账号:填写MySQL数据库的数据库账号

密码:填写MySQL数据库账号对应的密码

填写完成后可以点击"测试连通性"按钮验证填入的信息是否正确。

对象映射

点击"授权白名单进入下一步"按钮,进入迁移对象选择页面。

  • 在该页面,可以根据实际需求选择组合结构迁移、全量迁移和增量同步。
  • 若选择了增量同步,可以指定增量同步过程中同步的SQL语句类型,当前可选的SQL语句类型包含:INSERT、UPDATE、DELETE、DDL;此外若选择了DDL语句的同步,可以额外指定是否过滤特殊的DDL同步,如DROP、和TRUNCATE语句,如下图所示。

  • 传输对象包含两种选择类型:"整个实例"和"手动选择"。选择"手动选择"时,在页面左边选上需要迁移的库表,库表信息将会被自动添加到页面右边;点击对应库表名旁的"编辑"按钮可以设置库表名映射、行过滤、列黑白名单过滤等功能,如下图所示。

  • 上述配置完成后,点击"保存并预检查"可开始预检查操作。

5 DTS支持的MySQL源数据类型

下表列出了使用DTS时支持的MySQL源数据类型以及与DTS数据类型的默认映射。 有关如何查看目标端映射的数据类型的信息,请参阅有关目标端数据源的数据类型映射部分。

MySQL数据类型 DTS数据类型 DTS是否支持
BOOLEAN DTS_TYPE_INT1 支持
TINYINT DTS_TYPE_INT1 支持
SMALLINT DTS_TYPE_INT2 支持
MEDIUMINT DTS_TYPE_INT4 支持
INT DTS_TYPE_INT4 支持
BIGINT DTS_TYPE_INT8 支持
DECIMAL DTS_TYPE_DECIMAL 支持
FLOAT DTS_TYPE_FLOAT 支持
BIT DTS_TYPE_BYTES(8) 支持
YEAR DTS_TYPE_INT2 支持
DATE DTS_TYPE_DATE 支持
TIME(fsp) DTS_TYPE_STRING 支持
DATETIME(fsp) DTS_TYPE_DATETIME(fsp) 支持
TIMESTAMP(fsp) DTS_TYPE_DATETIME(fsp) 支持
CHAR(N) DTS_TYPE_STRING(N) 支持
VARCHAR(N) DTS_TYPE_STRING(N) 支持
BINARY(N) DTS_TYPE_BYTES(N) 支持
VARBINARY(N) DTS_TYPE_BYTES(N) 支持
TINYTEXT DTS_TYPE_STRING(255) 支持
TEXT DTS_TYPE_STRING(65,535) 支持
MEDIUMTEXT DTS_TYPE_STRING(16,777,215) 支持
LONGTEXT DTS_TYPE_STRING(4,294,967,295) 支持
TINYBLOB DTS_TYPE_BYTES(255) 支持
BLOB DTS_TYPE_BYTES(65,535) 支持
MEDIUMBLOB DTS_TYPE_BYTES(16,777,215) 支持
LONGBLOB DTS_TYPE_BYTES(4,294,967,295) 支持
SET - 仅在下游为MySQL时支持
ENUM - 仅在下游为MySQL时支持
JSON DTS_TYPE_STRING(4,294,967,295) 支持
相似文档
  • 下表列出了使用 DTS 时支持的 Mysql 数据类型以及与 DTS 数据类型的默认映射。 如果定长 && 字节长度 <= 255 字节使用 BINARY ; 如果字节长度 <= 65536 字节使用 VARBINARY ; 如果字节长度 <= 16,777,215 字节使用 MEDIUMBLOB ; 其他使用 LONGBLOB
  • 本文适用于使用百度智能云数据传输服务DTS,将DTS已经支持的数据源迁移至PostgreSQL目标端中的场景。 将PostgreSQL数据库作为DTS目标端的限制: 不支持非PostgreSQL数据库至PostgreSQL数据库的结构迁移。
  • 本文适用于使用百度智能云数据传输服务DTS,将DTS已经支持的数据源迁移至Palo目标端中的场景。 将Palo数据库作为DTS目标端的限制:不支持结构迁移。 Palo数据库:LOAD_PRIV:对指定的库或表的导入权限。
  • 本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将DTS已经支持的数据源迁移至Elasticsearch目标端中的场景。 不支持结构迁移。 增量同步不支持同步关系型数据库的DDL语句。
  • 本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将DTS已经支持的数据源迁移至Kafka目标端中的场景。 增量同步不支持同步关系型数据库的DDL语句。 DTS向Kafka发送消息满足At-Least-Once约束(消息不丢但可能重复)。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部