当前位置:Gxlcms > 数据库问题 > Canal-mysql数据同步中间件

Canal-mysql数据同步中间件

时间:2021-07-01 10:21:17 帮助过:25人阅读

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中读取数据,在机器没有挂的情况下,其他机器都在等待。

 

技术图片

 

 

技术图片

 

Canal-mysql数据同步中间件

标签:场景   conf   binlog   有用   git   资料   target   err   instance   

人气教程排行