缓存数据库一致
Canal : 基于Binlog的同步中间件。
Canal伪装成Mysql的从节点。收到Binlog 解析变更的binlog。
Canal Server - 接收Mysql 日志流。
Canal Client - 处理解析后的操作。可以在业务进行实现。
Canal也可以推送到Mq,kafka等。
RabbitMq不支持。Rocket可以支持。
Mysql检查
1 | show VARIABLES like %bin_log% |
- 修改:
my.conf
创建用户
创建canal用户,用来复制Mysql权限。
1 | select * from mysql.user; |
canal配置文件
几个关键配置
1 | //支持的表,支持正则表达黑丝 |
- 启动canal server
- 启动canal client
Binlog
Binlog的格式
- Row:幂等操作,所以canal选择这种。
- Sql:可以幂等也可能非幂等。
- Mix
Canal 适用 Row格式Mysql Binlog