暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据同步框架Canal介绍--二

648


学习不止步,人生漫漫,学得多,站得高,永远保持一颗理性的心。

感谢您的关注


对于任何开源框架的学习,我们首先需要做的便是体验一遍这个框架的大体功能,然后结合它的文档进行进一步的学习。

因此,今天我们来学习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 # 开启 binlog
      binlog-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/canal
            tar 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 = canal
                canal.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


                      文章转载自四夕君的记忆宫殿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                      评论