零、环境准备
1、canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row
[mysqld]
log-bin=mysql-bin #添加这一行就ok
binlog-format=ROW #选择row模式
server_id=129 #配置mysql replaction需要定义,不能和canal的slaveId重复
2、canal的原理是模拟自己为mysql slave,所以这里一定需要做为mysql slave的相关权限
[root@localhost /]# /usr/local/mysql/bin/mysql -uroot -p888888
mysql> CREATE USER canal IDENTIFIED BY 'canal';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.05 sec)
注:授于所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
一、下载并解压 canal
这里我们使用旧一些版本的,新版本总是会有一些问题。
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://github.com/alibaba/canal/releases/download/canal-1.0.19/canal.deployer-1.0.19.tar.gz
[root@localhost src]# mkdir /usr/local/canal
[root@localhost src]# tar zxvf canal.deployer-1.0.19.tar.gz -C /usr/local/canal/
解压完成后,进入 /usr/local/canal 目录,可以看到如下结构:
[root@localhost src]# cd ..
[root@localhost local]# cd canal/
[root@localhost canal]# ll
总用量 4
drwxr-xr-