场景:在微服务开发的过程中多个项目协同完成一个功能,工程与工程之间存在数据上的解耦 ,底层服务为上层服务提供数据
而底层服务有需要对数据进行管理 。
解决方案:基本底层服务 通过 canal 获取 mysql 数据 的变更状态 ,发送到 Kafka ,上层业务由 消费者来消费 。
配置 canal 遇到的问题:
show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CL
解决方案:
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
mysql 配置文件修改:
log_bin = mysql-bin
binlog_format = ROW
注意加上如下的配置后 还要为master 节点加入一个 service _id 否则启动Mysql 服务启动不了
server-id = 1