SpringBoot整合Canal实现数据库监听

1. 开启MySQL的bin_log日志

修改 my.cnf 文件

// 最后一行加入(linux的docker部署情况下)
log-bin=/var/lib/mysql/mysql-bin
server-id=12345
  • 重新启动dDocker和MySQL服务

查看是否已经开启bin_log日志

show variables like '%log_bin%';

SpringBoot整合Canal实现数据库监听_第1张图片

2. 创建一个单独的用户canal 赋予权限:查询 操作日志

CREATE user canal@'%' IDENTIFIED by 'canal'; -- 创建canal用户
grant select, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%';  -- 赋予相应权限
FLUSH PRIVILEGES;  -- 刷新权限(可以及时生效)

3. Docker环境安装Canal

  • canal.tar移入linux
    还原canal镜像 : docker load -i /root/canal.tar
    安装容器 : docker run --name canal -d --net=host docker.io/canal/canal-server
  • 配置canal
    进入canal容器 : docker exec -it canal /bin/bash
    进入目录 : cd /canal-server/conf/example
    编辑 : vi instance.properties
    修改这一行为linux的ip : canal.instance.master.address=192.168.129.34:3306
  • 重启容器 : docker restart canal

4. Java开发实现监听

安装starter-canal依赖

下载地址 :

你可能感兴趣的:(spring,boot,数据库,java)