Home

windows下 安装 canal 并 订阅mysql binlog

1. https://github.com/alibaba/canal/releases/tag/canal-1.1.6  下载cannal客户端

2. 启动canal  D:\canal\bin\startup.bat

3. 查看canal 启动日志 log

4. 构建 canal php 客户端

composer require xingwenge/canal_php
<?php
/*
 * 此文件不允许http方式访问
 */
if(php_sapi_name()!='cli'){
    echo 'No authority';exit();
}
date_default_timezone_set('Asia/Shanghai');
use xingwenge\canal_php\CanalConnectorFactory;
use xingwenge\canal_php\Fmt;
try {
  $client = CanalConnectorFactory::createClient(1);
  $client->connect("127.0.0.1", 11111);
  $client->checkValid();
  $client->subscribe("1001", "example", ".*\\..*");
  # $client->subscribe("1001", "example", "db_name.tb_name"); # 设置过滤

  while (true) {
    $message = $client->get(100);
    if ($entries = $message->getEntries()) {
      foreach ($entries as $entry) {
        Fmt::println($entry);
      }
    }
    sleep(1);
  }

  $client->disConnect();
} catch (\Exception $e) {
  echo $e->getMessage(), PHP_EOL;
}