msyql 的mysqld.cnf 加入
开启 binlog
log-bin=mysql-bin
选择 ROW 模式
binlog-format=ROW
配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
server_id=1
#重启mysql
systemctl restart mysql
#msyql 中执行sql 查询binlog启动状态
show variables like ‘log_bin’;
#设置binlog多少天过期
set global expire_logs_days = 7;
创建用户canal
CREATE USER canal IDENTIFIED BY ‘canal’;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘canal’@‘%’;
FLUSH PRIVILEGES;
修改docker-compose.yml 文件, 将canal 文件指向地址改为canal.properties 和 instance.properties
修改canal.properties 中mysql 的地址 修改instance.properties 的kafka地址 和数据表匹配表达式
清除binlog 日志参考:https://blog.youkuaiyun.com/leo__1990/article/details/90166934