mysql数据同步和数据传输_如何对MySQL数据库中的数据进行实时同步

摘要

数据传输(Data Transmission) 支持以数据库为核心的结构化存储产品之间的数据传输。

它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。数据传输致力于在公有云、混合云场景下,解决远距离、毫秒级异步数据传输难题。

通过阿里云数据传输,并使用 dts-ads-writer 插件,

可以将您在阿里云的云数据库RDS for MySQL中数据表的变更实时同步到分析型数据库中对应的实时写入表中(RDS端目前暂时仅支持MySQL引擎)。

前提条件

您需要在您RDS for MySQL所在的云账号下开通阿里云数据传输服务。并点击此处下载dts-ads-writer插件到您的一台服务器上并解压(需要该服务器可以访问互联网,建议使用阿里云ECS以最大限度保障可用性)。服务器上需要有Java 6或以上的运行环境(JRE/JDK)。

操作步骤

1. 在分析型数据库上创建目标表,数据更新类型为实时写入,字段名称和MySQL中的建议均相同,字段类型的映射见本文档 2.2节;

2. 在阿里云数据传输的控制台上创建数据订阅通道,并记录这个通道的ID;

3. 配置dts-ads-writer/app.conf文件,配置方式如下:

所有配置均保存在app.conf中,运行前请保证配置正确;修改配置后,请重启writer

基本配置:

{

"dtsAccessId":"",  //拥有数据订阅通道的云账号的accessId,必须配置

"dtsAccessKey":"", //拥有数据订阅通道的云账号的accessKey,必须配置

"dtsTunnelId":"",  //数据订阅通道的id,必须配置;注意是id,不是通道名称

"adsUserName":"",  //访问您的分析型数据库的用户名(accessId),必须配置

"adsPassword":"",  //访问您的分析型数据库的密码(accessKey),必须配置

"adsJdbcUrl":"",   //访问分析型数据库的jdbc连接串,必须配置(格式jdbc:mysql://ip:port/dbname)

"tables": [

{

"source": {

"primaryKeys": [""] //主键定义,必须配置;注意RDS和分析型数据库中的主键定义必须一致

"db":"",

//源头RDS的db名称,必须配置

"table":"",    //源头RDS的table名称,必须配置

"skipColumns": ["col1"]   //可选,若在此配置了RDS表某列名,则该列不会同步

},

"target": {

"table":""//分析型数据库表的table名称,必须配置

},

"columnMapping": {

"":""//

rds表和ads表的列对应关系:key为rds的列名, value为分析型数据库的列名,选填,不填则按照列名一一对应

}

}

]

}

tables节点的配置示例, 表示rds_db库下的rds_table表对应ads_table表,并且rds_table表的col1列对应ads_table表的col1_ads列, rds_table表的col2列对应ads_table表的col2_ads列

"tables": [

{

"source": {

"primaryKeys": [

"col1",

"col2"

],

"db":"rds_db",

"table":"rds_table"

},

"target": {

"table":"ads_table"

},

"columnMapping": {

"col1":"col1_ads",

"col2":"col2_ads"

}

}

]

注意事项:

1)RDS for MySQL表和分析型数据库中表的主键定义必须完全一致;如果不一致会出现数据不一致问题。如果需要调整RDS/分析型数据库表的主键,建议先停止writer进程;

2)一个插件进程中分析型数据库db只能是一个,由adsJdbcUrl指定;

3)一个插件进程只能对应一个数据订阅通道;如果更新通道中的订阅对象时,需要重启进程

4)RDS for MySQL中DDL操作不做同步处理;

5)更新app.conf需要重启插件进程才能生效;

6)如果工具出现bug或某种其它原因需要重新同步历史数据,只能回溯最近24小时的数据(在阿里云数据传输的控制台中修改消费位点);

7)插件的最大同步性能与运行插件的服务器的互联网带宽和磁盘IOPS成正比。

4. 运行dts-ads-writer/bin/startup.sh(sh

bin/startup.sh);

5. 配置监控程序监控进程存活和日志中的常见错误码。

logs目录下的日志中的异常信息均以ErrorCode=XXXX

ErrorMessage=XXXX形式给出,可以进行监控,具体如下:

9882d561257545f32478c45045c7c0e0.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值