学习不止步,人生漫漫,学得多,站得高,永远保持一颗理性的心。
感谢您的关注
对于任何开源框架的学习,我们首先需要做的便是体验一遍这个框架的大体功能,然后结合它的文档进行进一步的学习。
因此,今天我们来学习Canal框架的准备工作以及试验一下它的基本功能。
准备工作
安装MYSQL:网上的安装教程很完善,这里我就不再赘述。
安装好MYSQL后,首先需要将binlog的模式修改为ROW模式。
这里简单介绍一下binlog的三种模式:
a. Statement:每一条会修改数据的sql都会记录在binlog中b. Row:不记录sql语句上下文相关信息,仅保存哪条记录被修改c. Mixedlevel: 是以上两种level的混合使用
binlog模式修改方法:找到mysql的my.cnf配置文件,windows环境应该为my.ini文件
一般来说,my.cnf放置在 /etc/my.cnf;而对于windows平台,使用show variables like '%data%' 先找到data 存放路径, 一般my.ini 在 data文件的上一级。
例如笔者的my.ini的位置就在C:\ProgramData\MySQL\MySQL Server 8.0
在my.cnf文件中添加下列配置:log-bin=mysql-bin # 开启 binlogbinlog-format=ROW # 选择 ROW 模式server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
添加完配置后保存,最后重新打开一次配置文件,检查是否保存成功。
接着,需要为Canal创建一个MYSQL数据库账号,在MYSQL命令行中进行以下操作:
mysql> create user canal identified by 'canal';mysql> grant select,replication slave,replication client on *.* to 'canal'@'%';mysql> flush privileges;
接着,下载Canal发行版本,这里笔者选择的是1.1.5版本,命令如下
wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar.gz
这里可以预先创建一个目录,并进入该目录执行上述命令,即可得到Canal安装包

这里我在tmp目录下执行了上面的命令,得到了canal.deployer-1.1.5.tar.gz包,并创建了canal目录,然后将压缩包解压到canal目录下,命令如下:
mkdir tmp/canaltar zxvf canal.deployer-1.1.5.tar.gz -C tmp/canal
进入canal目录,可以看到下述结构:

接着,修改canal的配置文件,命令如下
vi conf/example/instance.properties
这里注意修改下列配置:
canal.instance.mysql.slaveId = 1234#position info,需要改成自己的数据库信息canal.instance.master.address = 127.0.0.1:3306#username/password,需要改成自己的数据库信息canal.instance.dbUsername = canalcanal.instance.dbPassword = canal系统是1个 cpu,需要将 canal.instance.parser.parallel 设置为 false
好了,配置文件修改好之后,就可以启动Canal了,这里注意,你的主机环境还需要安装好JDK。
执行命令启动Canal,命令如下:
sh bin/startup.sh
查看日志文件:
vi logs/canal/canal.log server日志vi logs/example/example.log instance日志
若要关闭Canal,可执行以下命令:
sh bin/stop.sh




