Canal mysql to mysql 增加 online 库同步配置指南

Canal 增加新库 online 的配置指南

1. 停止 Canal Adapter 服务

cd /home/canal_adapter/
./bin/stop.sh

2. online数据库备份与导入

备份源数据库

/home/mysqldata/mysql-8.0.32/bin/mysqldump -h 10.12.28.156 -ubackup -p    --single-transaction --master-data=2 -B online > online.sql

导入到目标数据库

mysql  -uroot -p  --force  < online.sql

3. 修改 Canal Instance 配置

  1. 登录 Canal Admin 控制台
  2. 找到对应的 Instance 配置
  3. 修改 canal.instance.filter.regex 参数

在这里插入图片描述
找到canal.instance.filter.regex 配置

修改前配置示例

canal.instance.filter.regex=afzx\\..*

修改后配置示例

canal.instance.filter.regex=afzx\\..*,online\\..*
  1. 点击"修改"按钮保存配置
    在这里插入图片描述

4. 配置 Canal Adapter

程序目录

  cd /home/canal_adapter/

4.1 修改 application.yml

/home/canal_adapter/conf/application.yml
在 srcDataSources 部分增加 online 数据源
srcDataSources:
  afzxDS:
    url: jdbc:mysql://127.0.0.1:3307/afzx?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: canal
    password: canal
  
  # 新增 online 数据源配置
  onlineDS:
    url: jdbc:mysql://127.0.0.1:3307/online?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: canal
    password: canal
在 canalAdapters 部分增加 online 目标库配置
canalAdapters:
  - instance: qiji66
    groups:
    - groupId: g1
      outerAdapters:
      - name: logger
      - name: rdb
        key: afzx_key
        properties:
          jdbc.driverClassName: com.mysql.jdbc.Driver
          jdbc.url: jdbc:mysql://127.0.0.1:3308/afzx?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
          jdbc.username: canal
          jdbc.password: canal
      
      # 新增 online 目标库配置
      - name: rdb
        key: online_key
        properties:
          jdbc.driverClassName: com.mysql.jdbc.Driver
          jdbc.url: jdbc:mysql://127.0.0.1:3308/online?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
          jdbc.username: canal
          jdbc.password: canal

4.2 创建 online 映射配置文件

conf/rdb/ 目录下创建 online_mapping.yml 文件:

/home/canal_adapter/conf/rdb/online_mapping.yml
dataSourceKey: onlineDS   # 对应源数据源
destination: qiji66       # 与instance名称一致
groupId: g1               # 与groupId一致
outerAdapterKey: online_key # 对应目标数据源key
concurrent: true
dbMapping:
  mirrorDb: true          # 启用全库镜像模式
  database: online        # 源数据库名

5. 启动 Canal Adapter 服务

cd /home/canal_adapter
./bin/startup.sh

验证步骤

  1. 检查 Canal Adapter 日志是否有错误
  2. 在源库 online 中执行数据变更操作
  3. 检查目标库 online 是否同步了相应变更

注意事项

  1. 确保源库和目标库的表结构一致
  2. 如果同步过程中出现问题,可查看 logs/adapter/adapter.log 获取详细错误信息
  3. 对于大表,初次同步可能需要较长时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值