*原理
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
1.开启binlog模式
修改mysqld.cnf配置文件
docker exec -it mysql /bin/bash
cd /etc/mysql/mysql.conf.d
vi mysqld.cnf
配置如下:
log-bin/var/lib/mysql/mysql-bin
server-id=12345
使用root账号创建用户并授予权限(用于测试)
create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT,ch哦那个其 REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
最后重启mysql;
2.canal的配置
docker exec -it canal /bin/bash
cd canal-server/conf/