1.Mysql配置
canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x
1.1.查看mysql binlog是否开启:
SHOW VARIABLES LIKE 'log_bin'
ON标识开启,如果mysql没有开启,需要配置MySQL配置文件中的配置(修改后重启mysql):
binlog-format模式:
ROW模式除了记录sql语句之外,还会记录每个字段的变化情况,能够清楚的记录每行数据的变化历史,但会占用较多的空间。
STATEMENT模式只记录了sql语句,但是没有记上下文信息,在迸行数据恢复的时候可能会导致数据的丢矢情况;
MIX模式比较灵活的记录,理论上说当遇到了表结构变更的时候就会记录为statement模式。当遇到了数据更新或者删除情况下就会变为row模式;
1.2.授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant:
CREATE USER canal IDENTIFIED BY 'canal'; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%'; -- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ; FLUSH PRIVILEGES;
2.下载安装Canal
2.1.下载地址:https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar.gz
2.2.安装:
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel mkdir /opt/canal tar -zxvf canal.deployer-1.1.5.tar.gz -C /opt/canal
2.3.配置:
#配置Mysql信息配置文件
vi /opt/canal/conf/example/instance.properties
canal.mq.topic(mq_user)为RabbitMQ一个队列的Routing key
#配置RabbitMQ: vi /opt/canal/conf/canal.properties
rabbitmq.exchange需要手动在RabbitMQ里面配置一个交换机或者已存在的交换机
3.启动
/opt/canal/bin/startup.sh
查看server日志:
cat /opt/canal/logs/canal/canal.log
查看 instance 的日志:
cat /opt/canal/logs/example/example.log
标签:Canal,opt,1.1,队列,配置,RabbitMQ,MySQL,canal From: https://www.cnblogs.com/luoqinghui/p/16888047.html