从RDS MySQL同步到AnalyticDB MySQL_MySQL同步至其他数据库_数据同步_RDS MySQL 数据库_云数据库 RDS 版
从RDS MySQL同步到AnalyticDB MySQL
分析型数据库MySQL版(AnalyticDB MySQL),是阿里巴巴自主研发的海量数据实时高并发在线分析(Realtime OLAP)云计算服务,使得您可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。通过数据传输服务DTS(Data Transmission Service),您可以将RDS MySQL同步到AnalyticDB MySQL,帮助您快速构建企业内部BI、交互查询、实时报表等系统。
前提条件
- RDS MySQL中待同步的数据表必须具备主键。
- 已创建目标AnalyticDB MySQL实例,详情请参见创建AnalyticDB MySQL(2.0)或创建AnalyticDB MySQL(3.0)。
说明 不支持将华北 1(青岛)、美国东部 1(弗吉尼亚)、英国(伦敦)地域的AnalyticDB MySQL(2.0)实例作为同步的目标实例;不支持将美国西部 1(硅谷)地域的AnalyticDB MySQL(3.0)实例作为同步的目标实例。
- 确保目标AnalyticDB MySQL具备充足的存储空间。
- 如果同步的目标为AnalyticDB MySQL(2.0),那么源RDS MySQL待同步的对象不能包含AnalyticDB MySQL(2.0)保留的库名和列名,否则将造成数据同步失败或DDL操作同步失败。
注意事项
- DTS在执行全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能会加重数据库压力,甚至导致数据库服务不可用。因此您需要在执行数据同步前评估源库和目标库的性能,同时建议您在业务低峰期执行数据同步(例如源库和目标库的CPU负载在30%以下)。
- 请勿在数据同步时,对源库的同步对象使用gh-ost或pt-online-schema-change等类似工具执行在线DDL变更,否则会导致同步失败。
- 由于AnalyticDB MySQL(3.0)本身的使用限制,当AnalyticDB MySQL(3.0)实例中的节点磁盘空间使用量超过80%,该实例将被锁定。请提前根据待同步的对象预估所需空间,确保目标实例具备充足的存储空间。
源库支持的实例类型
执行数据同步操作的源MySQL数据库支持以下实例类型:
- RDS MySQL
- 有公网IP的自建数据库
- ECS上的自建数据库
- 通过专线/VPN网关/智能网关接入的自建数据库
本文以RDS MySQL为例介绍配置流程,当源数据库为自建MySQL数据库时,配置流程与该案例类似。
说明 如果您的源数据库为自建MySQL数据库,您还需要为自建MySQL创建账号并设置binlog。
术语/概念对应关系
MySQL | AnalyticDB MySQL |
---|---|
数据库 | |
表 |
支持同步的SQL操作
目标数据库版本 | 支持的SQL操作 |
---|---|
AnalyticDB MySQL 2.0 |
|
AnalyticDB MySQL 3.0 |
说明 如果在数据同步的过程中变更了源表的字段类型,同步作业将报错并中断。您可以提交工单处理或参照文末的方法来手动修复,详情请参见修复因变更字段类型导致的同步失败。
|
数据库账号的权限要求
数据库实例 | 所需权限 |
---|---|
RDS MySQL | Replication slave、Replication client及待同步对象的Select权限。 |
AnalyticDB MySQL(2.0) | 无需填写数据库账号信息,DTS会自动创建账号并授权。 |
AnalyticDB MySQL(3.0) | 读写权限。 |
数据类型映射关系
由于MySQL和AnalyticDB MySQL的数据类型并不是一一对应的,所以DTS在进行结构迁移时,会根据数据类型定义进行类型映射,详情请参见结构初始化涉及的数据类型映射关系。
操作步骤
修复因变更字段类型导致的同步失败
本案例中,同步失败的表在AnalyticDB MySQL中的名称为customer。
- 在AnalyticDB MySQL 3.0中创建一个新表(customer_new),表结构与customer表保持一致。
- 通过INSERT INTO SELECT命令,将customer表的数据复制并插入到新创建的customer_new表中,确保两张表的数据保持一致。
- 重命名或删除同步失败的表,然后将customer_new表的名称修改为customer。
- 在DTS控制台,重启数据同步作业。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论