Canal 双机热备

1. 软件地址

https://github.com/alibaba/canal

2. 本地数据库及cannl的配置

创建对应用户

grant replication slave on *.* to 'replicate'@'192.168.0.170' identified by '123456';
 flush privileges;

数据库配置

  • my.ini 添加下列参数后服务重启
    server-id = 78  //主从数据库唯一
    log-bin=mysql-bin //开启bingo备份
    binlog-format=ROW //记录日志的模式
    binlog-do-db = ibms_966 //填写需要同步的库,多个请重复添加
    binlog-ignore-db = mysql //填写不需要同步的库,多个请重复添加

cannl-deployer服务

  • 解压缩canal.deployer-1.1.5-SNAPSHOT.tar.gz,进入conf文件夹修改,这里采用的是TCP连接,还有kafka,RocketMQ两种方式,所以canal.properties的配置无需修改,默认TCP

  • 修改conf/example/instance.properties

    # position info
    canal.instance.master.address=127.0.0.1:3306 //填写数据库地址
    canal.instance.master.journal.name=
    canal.instance.master.position= //填写数据库当前position
    canal.instance.master.timestamp=
    canal.instance.master.gtid=
  • 启动 /bin/startup.bat

cannl-adapter服务

  • 解压缩canal.adapter-1.1.5-SNAPSHOT.tar.gz,进入conf文件夹修改配置文件application.yml,修改连接方式,默认为TCP无需修改,修改连接的多个数据库,每个库填写KEY,下面配置文件需要用到。

    canal.conf:
    mode: tcp # kafka rocketMQ
    canalServerHost: 127.0.0.1:11111
    - instance: example # canal instance Name or mq topic name
    groups:
    - groupId: g1
      outerAdapters:
      - name: logger
      - name: rdb
        key: mysql1
        properties:
          jdbc.driverClassName: com.mysql.jdbc.Driver
          jdbc.url: jdbc:mysql://192.168.0.170:3306/test?useUnicode=true
          jdbc.username: root
          jdbc.password: 123456
      - name: rdb
        key: mysql2
        properties:
          jdbc.driverClassName: com.mysql.jdbc.Driver
          jdbc.url: jdbc:mysql://192.168.0.170:3306/test1?useUnicode=true
          jdbc.username: root
          jdbc.password: 123456
  • 进入conf/rdb,添加yml文件,每个数据库对应一个文件

    dataSourceKey: defaultDS
    destination: example
    groupId: g1
    outerAdapterKey: mysql2 //修改对应key
    concurrent: true
    dbMapping:
    mirrorDb: true
    database: test //修改对应数据库名称
  • 启动 /bin/startup.bat

《Canal 双机热备》上有4条评论

发表评论

电子邮件地址不会被公开。