Canal-mysql数据同步中间件
时间:2021-07-01 10:21:17
帮助过:25人阅读
Canal使用场景
- 数据库备份更新
- 搜索引擎索引更新&建立
- 业务缓存的更新
- 充当消息组件(订单变更,商品资料变更等)
Canal环境部署
- 搭建Mysql
- 配置数据库配置文件
- 增加以下配置信息
- log-bin=mysql-bin # 启动binlog日志
- binlog-format=ROW # 选择row模式
- server_id=1 # 配置mysql replaction需要定义,不能和 Canal的slaveId 重复
- 创建用户
- create user canal identified by ‘canal‘
- grant select, replication slave,replication client on.to ‘canal‘@‘%‘
- 重启数据库
- 搭建canal
- git地址 https://github.com/alibaba/canal 到 releases 下载所需版本
- 上传文件到服务器,解压文件
- 配置文件位置:conf/example/instance.properties
- 修改配置文件配置信息,slaveId, 源数据库地址,数据库用户名及密码
- 启动服务
- ./bin/startup.sh
- 是否启动成功
- logs/example/ 文件夹下example.log文件 start successfull.... 标示 启动成功
Canal的使用
- 创建链接
- 三种链接模式
- 使用案例
2. 注意事项
1. Canal挂了后,数据库日志如果没产生新的分片时数据不会丢失。
如果mysql日志有了新的分片了,重启Canal时还会报错,解决办法,删除 conf/example/meta.dat 文件。(旧的消息没有用的话)
2. 集群模式时,同时只有一台服务可以从mysql中读取数据,在机器没有挂的情况下,其他机器都在等待。
Canal-mysql数据同步中间件
标签:场景 conf binlog 有用 git 资料 target err instance