首页 > 其他分享 >canal监控binlog日志

canal监控binlog日志

时间:2022-10-27 10:35:12浏览次数:42  
标签:canal binlog System instance rowData println 日志 out

 

canal
https://blog.csdn.net/NeverFG/article/details/124053342
https://github.com/alibaba/canal/releases/tag/canal-1.1.6

修改mysql配置
cd /etc
vi my.cnf
log-bin=mysql-bin
server-id=12345

#修改 canal.properties canal.id=1001

cd example/
#修改 instance.properties
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=canal
canal.instance.dbPassword=Canal202!
canal.instance.filter.regex=.*\\..*

mysql创建用户
create user canal@'localhost' IDENTIFIED by 'Canal202!';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'localhost';
FLUSH PRIVILEGES;

我们这里使用的一个开源的项目,它实现了springboot与canal的集成。比原生的canal更加优雅。
https://github.com/chenqian56131/spring-boot-starter-canal
使用前需要将starter-canal安装到本地仓库(把提供的依赖拷贝到本地仓库即可)
我们可以参照它提供的canal-test,进行代码实现。

@EnableCanalClient

canal.client.instances.example.host= 192.168.183.129
canal.client.instances.example.port= 11111

@CanalEventListener
public class BusinessListener {

    /**
     * 设置监控点,监控的目标,对应库下的具体表
     * @param entryType
     * @param rowData
     */
    @ListenPoint(schema = "xmh",table = {"t_user"})
    public void adUpdate(CanalEntry.EntryType entryType, CanalEntry.RowData rowData){
        System.out.println("tb_ad表中的数据发生变化");
        System.out.println("变化前的数据");
        rowData.getBeforeColumnsList().forEach((c)-> System.out.println(c.getName()+":"+c.getValue()));
        System.out.println("变化后的数据");
        rowData.getAfterColumnsList().forEach((c)-> System.out.println(c.getName()+":"+c.getValue()));
    }
}

  

 

标签:canal,binlog,System,instance,rowData,println,日志,out
From: https://www.cnblogs.com/xingminghui111/p/16831276.html

相关文章

  • Rsyslog 收集 Redis 及第三方日志简单记录
    背景​ 现在服务器数量较多,经常需要做日志收集。耳熟能详的方案是ELK和后起之秀Loki,但是有的时候项目组的资源有限,用这些方案稍显笨重,所以这时候需要操作系统自带的Rs......
  • SpringBoot AOP异常日志处理 使用AOP+注解的方式进行异常日志的处理
    SpringBootAOP异常日志处理使用AOP+注解的方式进行异常日志的处理最近公司的一个项目需要将异常日志通过企业微信进行告警,由于消息推送已经有异常处理平台进行处理,现在......
  • spdlog日志库源码:线程池thread_pool
    目录线程池thread_pool简介多生产者-多消费者阻塞队列模型阻塞与非阻塞方式插入数据取出数据overrun异常处理机制其他接口环形队列circular_qthreadpool模型threadpool实......
  • vim查看携带颜色字符的日志文件
    很多时候可能会在服务器上用vim查看log文件,有时候文件中会有很多命令行颜色指令字符,类似:^[[0;37;40m2022-xxxx[0m。看的很难受。如果你的vim有+terminal特性,查看......
  • log4net 文件日志缓存(buffersize)
    公司用log4net记录日志,文件的形式,后面想记录的东西越来越多。发现会出现文件被占用的情况。就想log4net应该有缓存,当要写入的文件达到一定数量的时候再写入。然后在网上查......
  • 【单片机/嵌入式】【梁山派】学习日志【更新中】
    梁山派:https://lckfb.com/project/detail/lckfb_lspi?param=baseInfo2022年10月24日梁山派·开发板训练营开营暨点灯仪式:【b站】https://www.bilibili.com/video/BV1bP41......
  • 使用Spring AOP实现系统操作日志记录
    使用SpringAOP实现系统操作日志记录一、什么是SpringSpring是一个广泛应用的J2EE框架,是针对bean的生命周期进行管理的轻量级容器,主要由SpringCore、SpringAOP、Spri......
  • ELK 不香了?试试接入这款更轻量的日志框架,真的很省心!
    当我们公司内部部署很多服务以及测试、正式环境的时候,查看日志就变成了一个非常刚需的需求了。是多个环境的日志统一收集,然后使用Nginx对外提供服务,还是使用专用的日志收......
  • grafana Loki 轻量级日志收集系统
    部署dockerrun-dti-p3000:3000grafana/grafana:masterdockerrun-dti-p3100:3100--nameloki grafana/loki:2.4.1 dockerrun-dti--namepromtailgrafa......
  • MySQL 通用查询日志与慢查询日志
    MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志。1)通用查询日志:记录建立的客户端连接......