canal

news2024/12/23 15:17:59

1 安装配置

1.1 下载

https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz

1.2 mysql配置binlog

# on 时,代表着开启
show VARIABLES like 'log_bin'; 

1.3 创建MySQL canal用户

# 创建用户
create user 'canal'@'%' identified by '123';
# 授权
grant show view,select,replication slave, replication client on *.* to 'canal'@'%';
# 刷新权限
flush privileges;

1.4 canal的核心配置文件

conf/example/instance.properties

# 配置 slaveId 自定义,不等于 mysql 的 server Id 即可
canal.instance.mysql.slaveId=10 

# 数据库地址
canal.instance.master.address=127.0.0.1:3306
# binlog日志名称
canal.instance.master.journal.name=mysql-bin.000001
# binlog偏移量
canal.instance.master.position=913

# 数据库账号密码
canal.instance.dbUsername=canal
canal.instance.dbPassword=123

# table regex
canal.instance.filter.regex=test_xxx\\.user

mysql日志查询知识补充

# 查看最新一个binlog日志文件名称和Position
show master status

conf/canal.properties

canal.admin.port = 11110
canal.port = 11111                # client 连接的端口
canal.metrics.pull.port = 11112

# 指定实例,多个实例使用逗号分隔: canal.destinations = example1,example2
canal.destinations = example

1.5 启动canal

  双击 bin/startup.bat

cd bin
./startup.bat 

2 安装配置

2.1 php案列

composer require xingwenge/canal_php
<?php

use xingwenge\canal_php\CanalClient;
use xingwenge\canal_php\CanalConnectorFactory;
use xingwenge\canal_php\Fmt;

include __DIR__ . '/../../../vendor/autoload.php';
$client = CanalConnectorFactory::createClient(CanalClient::TYPE_SOCKET_CLUE);

echo "建立连接" . PHP_EOL;
$client->connect("127.0.0.1", 11111);

echo "检查" . PHP_EOL;
$client->checkValid();

echo "开始订阅" . PHP_EOL;

$client->subscribe(1001, "example", "test_xshalong\.zeai_tg_user_update_info");
while (true) {
    $message = $client->get(100);

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

输出结果

# 常见问题

1、 Could not find first log file name in binary log index file

删除 conf/example/meta.dat的文件,重启canal即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1019532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW使用巴特沃兹低通滤波器过滤噪声

LabVIEW使用巴特沃兹低通滤波器过滤噪声 设备采集到的数据往往都有噪声&#xff0c;有时候这些数据要做判断使用&#xff0c;如果不处理往往会影响最终的结果。可以使用动态平滑&#xff0c;或者中值滤波等方法。这里介绍使用巴特沃斯低通滤波&#xff0c;也是非常方便的。 下…

Python算法练习 9.18

leetcode 1657 确定两个字符串是否相似 如果可以使用以下操作从一个字符串得到另一个字符串&#xff0c;则认为两个字符串 接近 &#xff1a; 操作 1&#xff1a;交换任意两个 现有 字符。 例如&#xff0c;abcde -> aecdb操作 2&#xff1a;将一个 现有 字符的每次出现转…

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日&#xff0c;一款名叫ControlNet的插件横空出世&#xff0c;AI绘画变得更加可控 ControlNet直译过来很简单&#xff0c;就叫做控制网&#xff0c;开发者是一名华裔&#xff0c;毕业于苏州大学&#xff0c;目前在斯坦福做读博士一年级&#xff0c;大佬大佬&…

typora补丁

背景&#xff1a; 安装typora后试用期30天&#xff0c;打补丁可解决此问题 补丁路径 某盘 链接&#xff1a;https://pan.baidu.com/s/18MLqJHqTL7DXdCoaZvMfhg 提取码&#xff1a;vkgg 1.安装typora软件 2.打补丁 2.1.下载补丁包 解压 2.2.将解压文件复制到安装目录 2.3重…

【集成学习】对已训练好的模型进行投票

在不同的数据预处理情况下训练得到了三个SVM模型&#xff0c;结果都差不多&#xff0c;对这三个模型的分类结果进行投票 1、三个模型的model_path # 最终model的path self.model_path log_path/model_name_model.gz self.time_log log_path/model_name_time_log.csv# 模型1…

Java 华为真题-新学校选址

需求&#xff1a; 为了解新学期学生暴涨的问题,小乐村要建立所新学校&#xff0c;考虑到学生上学安全问题,需要所有学生家到学校的距离最短。 假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置&#xff0c;能使得到学校到各个学生家的距离和最短。 输入描述&…

【面试经典150 | 数组】轮转数组

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;使用额外的数组方法二&#xff1a;翻转数组 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附…

网络安全是什么?手把手教你认识网络安全

一、网络安全 1.概念 网络安全从其本质上讲就是网络上的信息安全&#xff0c;指网络系统的硬件、软件及数据受到保护。不遭受破坏、更改、泄露&#xff0c;系统可靠正常地运行&#xff0c;网络服务不中断。 &#xff08;1&#xff09;基本特征 网络安全根据其本质的界定&#…

怎样用图片去搜索商品呢?

taobao.item_search_img 为了进行电商平台 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个taobao应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载taobaoAPI的SDK并掌握基本的API基础知识和…

博客数量为啥产出少了呢

如题博客数量为啥产出少了 gpt出来了之后大部分问题都可以通过gpt搜索到结果了,慢慢的就养成习惯了,很容易知道结果的东西就不想记录下来了,这获取就是人类的惰性吧,哈哈哈,越容易获取越不珍惜 提出几个问题 1. gpt是通过我们大家写的博客和大量文档学习出来的,如果大家都不…

PMP第七版考试该怎么学?

第七版怎么学习&#xff0c;建议报个培训班&#xff0c;第七版比第六版更加难以理解&#xff0c;除非专业人士&#xff0c;真的想一个人啃完难度很大。 想自学的话&#xff0c;可以建议学习第六版加敏捷的内容&#xff0c;考纲就是这两部分的内容。 考试占比参考&#xff08;2…

初识Linux操作系统

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 本次内容&#xff0c;我们主要了解一下Linux的发展历史。 目录 Linux 背景介绍 发展史 操作系统的兴起 第一个操作系统——Unix Linux的发展史 开源 Linux官网 企业应用现状 发行版本 Linux 背景介绍 发展史 …

《低代码指南》——Airtable再裁员27% 低代码市场生变?

继去年年底裁员254人后,低代码平台提供商Airtable宣布在九个月内进行第二轮237人裁员,约占公司员工的27%,旨在实现公司“现金流为正”。 Airtable首席执行官Howie Liu接受福布斯采访透露,裁员是公司专注于赢得大型企业客户和控制支出计划的一部分,也是该公司在疫情期间经…

【LeetCode-中等题】150. 逆波兰表达式求值

文章目录 题目方法一&#xff1a;栈 题目 方法一&#xff1a;栈 class Solution {public int evalRPN(String[] tokens) {Deque<Integer> deque new LinkedList<>();String rpn "-*/";//符号集 用来判断扫描的是否为运算符int sum 0;for(int i 0 ; i…

JDK18特性

文章目录 JAVA18概述1. 默认UTF-8字符编码2. 简单的Web服务器3.JavaDoc的增强4. 反射功能的新特性5.Vector API(三次孵化)6. 互联网地址解析SPI7. 外部函数和内存API(二次孵化)8.switch 表达式 JAVA18概述 Java 18 在 2022 年 3 月 22 日正式发布&#xff0c;Java 18 不是一个…

简单的手机电脑无线传输方案(android@windows)

文章目录 abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法 手机浏览电脑文件公网局域网everythingpython http.server abstract windows访问android文件 android访问桌面系统上的文件 windows浏览android文件 环境准备 客户端软件 android手机…

引导加载程序

引导加载程序概览 引导加载程序是供应商专有的映像&#xff0c;负责在设备上启动内核。引导加载程序会监护设备状态&#xff0c;负责初始化可信执行环境 (TEE) 以及绑定其信任根。引导加载程序还会在将执行工作移到内核之前先验证 boot 和 recovery 分区的完整性。 引导加载程…

京都大学利用 CNN 预测粮食产量,丰收不问天,问 AI 就够了

联合国预测&#xff0c;2050 年世界人口预计达到 91 亿&#xff0c;全球对粮食的需求量将增加 70%。然而&#xff0c;由于世界农业发展不均衡&#xff0c;很多地区的粮食产量尚无法被准确统计&#xff0c;因此无法对这些区域的农业发展做出合理规划。现有的粮食产量统计方法则难…

项目进度管理(3-3)PERT计划评审技术 理论和实践详解

1 计划评审技术起源 PERT&#xff08;Program Evaluation and Review Technique&#xff0c;项目评估和审查技术&#xff09;的起源可以追溯到20世纪50年代&#xff0c;与美国国防部和美国海军的项目管理有关。 PERT的发展始于20世纪50年代初&#xff0c;当时美国国防部正面临…

苹果笔不用原装可以吗?好用的平板触控笔

由于Apple pencil的出世&#xff0c;给许多小伙伴带了很高的生产效率。但Apple pencil的昂贵&#xff0c;让许多小伙伴连连劝退&#xff0c;觉得只是偶尔写字&#xff0c;没有必要入手一支这么昂贵的笔&#xff0c;咱们国内也会很多做得相当不错的平替电容笔&#xff0c;但很多…