操作场景
本文为您介绍使用数据传输服务 DTS 从 TDSQL MySQL 数据库同步数据至 TDSQL MySQL 数据库的过程。支持的场景如下:
说明:
源数据库类型 | 目标数据库类型 |
自建 TDSQL MySQL | 腾讯云数据库 TDSQL MySQL |
腾讯云数据库 TDSQL MySQL | 自建 TDSQL MySQL 腾讯云数据库 TDSQL MySQL |
准备工作
1. 请仔细阅读 使用说明,了解功能约束和注意事项。
2. 请根据您需要使用的接入类型,提前打通 DTS 与数据库之间的访问通道,具体请参考 网络准备工作。
IDC 自建数据库:接入方式可选择“公网/专线接入/VPN 接入/云联网”。
腾讯云数据库实例:接入方式选择“云数据库”。
3. 需要您在源端 TDSQL MySQL 中提前创建好数据库:
__tencentdb__
(参考语法 CREATE DATABASE __tencentdb__;
)。4. 在源数据库中对执行任务账号进行授权,参考如下:
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS,SELECT ON *.* TO '同步账号'@'%' IDENTIFIED BY '同步密码';GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '同步账号'@'%';FLUSH PRIVILEGES;
5. 在目标库中对执行任务账号进行授权,需要具备目标数据库的权限:
ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE USER, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE。
操作步骤
因为 TDSQL MySQL 迁移到 TDSQL MySQL 入云,和出云的操作步骤类似,如下以自建 TDSQL MySQL 迁移到腾讯云 TDSQL MySQL 为例进行介绍。
1. 登录 数据同步购买页,选择相应配置,单击立即购买。
参数 | 描述 |
计费模式 | 支持包年包月和按量计费。 |
源实例类型 | 选择 TDSQL MySQL,购买后不可修改。 云数据库 TDSQL MySQL 分为三种内核版本(MySQL/MariaDB/Percona),这里无需区分内核版本,选择本身的数据库类型 TDSQL MySQL。 |
源实例地域 | 选择 DTS 迁移服务的源端地域,如果源数据库为腾讯云数据库,这里请选择源数据库所属地域,如果源库为自建数据库,这里请选择离源数据库最近的一个地域,以便 DTS 选择最优同步路径,降低同步时长。 |
目标实例类型 | 选择 TDSQL MySQL,购买后不可修改。 |
目标实例地域 | 选择目的实例所在地域,购买后不可修改。 |
规格 | 目前只支持标准版。 |
2. 购买完成后,返回 数据同步列表,可看到刚创建的数据同步任务,刚创建的同步任务需要进行配置后才可以使用。
3. 在数据同步列表,单击操作列的配置,进入配置同步任务页面。
4. 在配置同步任务页面,配置源端实例、账号密码,配置目标端实例、账号和密码,测试连通性后,单击下一步。
设置项 | 参数 | 描述 |
任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| 运行模式 | 支持立即执行和定时执行两种模式。 |
源实例设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| 接入类型 | 公网:源数据库可以通过公网 IP 访问。 云主机自建:源数据库部署在 腾讯云服务器 CVM 上。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
| 私有网络专线网关/VPN 网关 | 专线接入时只支持私有网络专线网关,请确认网关关联网络类型。VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。 |
| 私有网络 | 选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 |
| 主机 - Proxy | 填入 Proxy 地址和端口。 |
| 节点 - SET | 填入 TDSQL MySQL 分片节点 IP,每分片需输入一个节点 IP,多个节点请换行输入。 源库如果是自建数据库,首次配置 SET 节点,连接保存后,无法再增加或者删除,如果用户需要增加或者删除 SET 节点,需要重新建立同步任务。 |
| 账号 | 源实例账号,账号权限需要满足要求。 |
| 密码 | 源实例账号的密码。 |
目标实例设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“云数据库”。如果源实例接入类型选择了云数据库,目标实例接入类型这里可以选择公网/云主机自建/专线接入/VPN 接入/云数据库/云联网等方式。 |
| 实例 ID | 选择目标实例 ID。 |
| 账号 | 目标实例账号,账号权限需要满足要求。 |
| 密码 | 目标实例账号的密码。 |
5. 在设置同步选项和同步对象页面,将对数据初始化选项、数据同步选项、同步对象选项进行设置,在设置完成后单击保存并下一步。
说明:
如果用户在同步过程中确定会对某张表使用 rename 操作(例如将 table A rename 为 table B),则同步对象需要选择 table A 所在的整个库(或者整个实例),不能仅选择 table A,否则 rename 操作后,table B 的数据不会同步到目标库。
设置项 | 参数 | 描述 |
数据初始化选项 | 初始化类型 | 结构初始化:同步任务执行时会先将源实例中表结构初始化到目标实例中。 全量数据初始化:同步任务执行时会先将源实例中数据初始化到目标实例中。仅选择全量数据初始化的场景,用户需要提前在目标库创建好表结构。 默认两者都勾上,可根据实际情况取消。仅选择“全量数据初始化”时,用户需要提前在目标库创建好表结构。 |
| 已存在同名表 | 前置校验并报错:存在同名表则报错,流程不再继续。 忽略并继续执行:全量数据和增量数据直接追加目标实例的表中。 |
| 指定启动位点 | 1. 增量同步任务,从设置的时间点开始同步数据,设置的时间点范围为:之前的14天-当前时间。 2. 如果全量同步和增量同步分开执行,这里请注意,进行全量同步时,DTS 已经同步的全量数据时间点1与设置的时间点2之间,不能存在 DDL 变更数据,否则任务会报错。 3. 从设置的指定时间点1,到增量任务启动点2之间(任务步骤从“寻找指定位点”转化为“同步增量”才算启动),源库不能进行 DDL 操作,也不建议进行主从切换、增加分片、重做备机操作,否则可能会导致同步任务异常。 4. 因为指定时间点同步是根据 Binlog 中 context 的时间(SET TIMESTAMP=XXXX)来判断其 GTID,为保证同步数据的正确性,建议用户不要修改该 context。 5. 请确认数据库设置的时区与当前控制台时区(即浏览器时区)一致,或者换算为数据库设置时区所对应的时间,否则可能会导致指定位点同步结果不合预期。 6. 请确认 TDSQL MySQL 各集群节点的时间保持一致,否则可能会导致指定位点同步结果不合预期。 7. 如果设置的时间点在 XA 事务持续时间的范围内,则该 XA 事务不会被同步。对于这种情况,建议时间点可以往前设置一些(在 XA START 的时间之前)。 |
数据同步选项 | 冲突处理机制 | 冲突覆盖:在同步时发现表主键冲突,用源库主键记录覆盖目标库主键记录。 |
| 同步操作类型 | 支持操作:Insert、Update、Delete、DDL。 |
同步对象选项 | 源实例库表对象 | 选择待同步的对象,支持库级别和表级别。 |
| 已选对象 | 展示已选择的同步对象,将鼠标悬浮在库、表对象上,可以编辑映射规则。 1. 支持库名、表名的映射。 2. 依次勾选单个表对象后,可以设置 Where 条件,详情参考 Where 条件过滤。 3. 目标端为分布式 TDSQL MySQL 的同步链路中,可以设置源端的表同步到目标端类型。 建表类型:支持 Hash、Range、List。 请注意,设置 Range 或者 List 分区时,需要保证分区策略可以覆盖源端全量+增量的所有数据,否则会导致数据无法按照分区规则写入,从而导致任务报错。 一级 Shardkey:选择您需要指定的 Shardkey。 |
6. 在校验任务页面,完成校验并全部校验项通过后,单击启动任务。
如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。
失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。
7. 返回数据同步任务列表,任务开始进入运行中状态。
说明:
选择操作列的更多 > 结束可关闭同步任务,请您确保数据同步完成后再关闭任务。
8. (可选)您可以单击任务 ID,进入任务详情页,查看任务初始化状态和监控数据。