Canal-mysql数据同步中间件


Canal使用场景

  1. 数据库备份更新
  2. 搜索引擎索引更新&建立
  3. 业务缓存的更新
  4. 充当消息组件(订单变更,商品资料变更等)

Canal环境部署

  1. 搭建Mysql
  2. 配置数据库配置文件
    1.   增加以下配置信息
      1.   log-bin=mysql-bin  # 启动binlog日志
      2.   binlog-format=ROW  # 选择row模式
      3.   server_id=1  # 配置mysql replaction需要定义,不能和 Canal的slaveId 重复
    2.   创建用户
      1.   create user  canal identified by 'canal'
      2.   grant select, replication slave,replication client on.to 'canal'@'%'
    3.   重启数据库
  3. 搭建canal
    1.   git地址 https://github.com/alibaba/canal 到 releases 下载所需版本 
    2.   上传文件到服务器,解压文件
    3.   配置文件位置:conf/example/instance.properties
      1.   修改配置文件配置信息,slaveId, 源数据库地址,数据库用户名及密码
    4.   启动服务
      1.   ./bin/startup.sh
    5.   是否启动成功
      1.   logs/example/ 文件夹下example.log文件   start successfull.... 标示 启动成功

Canal的使用

  1. 创建链接
      1.   三种链接模式

    1.  使用案例

       

  2. 注意事项

    1. Canal挂了后,数据库日志如果没产生新的分片时数据不会丢失。

    如果mysql日志有了新的分片了,重启Canal时还会报错,解决办法,删除 conf/example/meta.dat 文件。(旧的消息没有用的话)

    2. 集群模式时,同时只有一台服务可以从mysql中读取数据,在机器没有挂的情况下,其他机器都在等待。

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM