赞
踩
1.docker安装mysql 这步省略了
2.开启binlog
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
3.创建账户 操作完后重启mysql
[mysqld]
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
//GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
4.拉取canal
sudo docker pull canal/canal-server:v1.1.4
5.启动cananl
//根据需要映射端口
sudo docker run -it --name canal -p 11111:11111
\-p 8000:8000 -p 2222:2222 -p 1111:1111 -p 11112:11112
\ -p 11110:11110 -d canal/canal-server:v1.1.4
6.修改配置文件
//进入容器内 sudo docker exec -it canal /bin/bash cd canal-server/conf/ //如果不需要改为mq监听则忽略此步骤 vi canal.properties //canal.properties文件内 配置为rabbitmq的方式 这里省略了mq的配置 # tcp, kafka, rocketMQ, rabbitMQ canal.serverMode = rabbitMQ :wq cd example vi instance.properties //instance文件内 canal.instance.mysql.slaveId=123 //从库id 不与主库相同即可 canal.instance.master.address=数据库ip:端口 canal.instance.filter.regex=数据库\\表名 // .*\\..*表示全部库下的全部表canal.instance.dbUsername=用户名 canal.instance.dbPassword=密码 canal.instance.connectionCharset = UTF-8
7.重启服务
./home/admin/canal-server/bin/restart.sh
cd /home/admin/canal-server/logs/canal
tailf canal.log //出现 the canal server is running now ...... 则启动成功
cd /home/admin/canal-server/logs/example
tailf example.log //出现 start successful.... 则启动成功
8.修改数据库,查看mq是否推送成功
canal官方文档
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。