开发者社区> 问答> 正文

如何使用canal将本地MYSQL同步到云MYSQL上?

我有本地MYSQL,要同步到云MYSQL上, 本地MYSQL与云MYSQL不能相互访问(本地没外网IP,云MYSQL不暴露外网访问) 如何使用 canal.deployer > RocketMQ > canal.adapter 进行同步呢?或是还有其它方案? 因为cannal.adapter无法直接访问 srcDataSources 的mysql,注释掉了srcDataSources 想从RocketMQ 获取

配置文件如下 :

server: port: 8081 spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 default-property-inclusion: non_null

canal.conf: mode: rocketMQ #tcp # kafka rocketMQ mqServers: 192.168.3.147:9006 #or rocketmq flatMessage: true batchSize: 500 syncBatchSize: 1000 retries: 0 timeout: accessKey: secretKey:

canalAdapters:

instance: example # canal instance Name or mq topic name groups: groupId: g1 outerAdapters: name: rdb key: mysql1 properties: jdbc.driverClassName: com.mysql.jdbc.Driver jdbc.url: jdbc:mysql://192.168.1.72:3306/test_db?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&allowPublicKeyRetrieval=true jdbc.username: root jdbc.password: 123456 如上配置,canal.adapter不会消费RocketMQ的消息,cannal.adapter已经发送到RocketMQ

原提问者GitHub用户CosmoYhh

展开
收起
Java工程师 2023-05-03 10:54:46 144 0
1 条回答
写回答
取消 提交回答
  • 其实漏配置了conf/rdb/mytest_user.yml 如果两边配置完全一样就使用

    dataSourceKey: defaultDS destination: example groupId: g1 outerAdapterKey: mysql1 concurrent: true dbMapping: mirrorDb: true

    如果不一样可以做个性化列映射配置。

    原回答者GitHub用户agappleCosmoYhh

    2023-05-04 14:51:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像