docker启动canal后无法监控mysql日志变化

docker启动canal后无法监控mysql日志变化

问题背景

第一次docker run canal后,可以监控mysql的日志,启动java写的client端也有输出,然后我改了一下instance.properties,docker restart了一下canal容器,发现怎么也监控不到mysql的日志了,同时使用docker logs -f canal容器id 也看到没有任何的输出,首先我确定我配置的没有问题。但是反复重启发现依然是无法监控的情况。

问题排查及解决

经过排查,发现mysql的canal用户用navicat工具居然无法连接数据库了,具体然因不清楚,但就是突然不能用了,所以我重新把canal这个user给drop了,重新创建并赋予权限,就可以了。

# 删除原有的canal用户
DROP USER canal;

# 新建用户 用户名:canal  密码:canal 
CREATE USER canal IDENTIFIED by 'canal';

# 授权
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

# 刷新MySQL的系统权限相关表
FLUSH PRIVILEGES;

你可能感兴趣的:(docker,canal,mysql)