learning-mysql-canal

介绍

基于spring-boot搭建的一个监控数据库字段变化

spring-boot.version version:2.3.4.RELEASE

canal.client version : 1.1.4

canal的作用:

可以监控数据库的各个字段之间的变化

基于binLog进行解析,数据库执行了哪些操作

软件架构

启动的时候会执行@PostConstruct 会去执行canal客户端,执行的纪录保存下来

安装教程

都是基于docker-compose进行搭建

安装canal(仅用作dev环境) 基于docker-compose安装

version: '3'

services:

canal-server:

image: canal/canal-server:v1.1.4

container_name: canal-server

ports:

- '11111:11111'

environment:

- canal.instance.mysql.slaveId=1234 # canal的slaveId不可以和mysql中的slaveId重复

- canal.auto.scan=false

- canal.instance.master.address=192.168.3.123:3306 # 数据库地址

- canal.instance.dbUsername=root # 可以选择在数据库中创建单独的canal账户

- canal.instance.dbPassword=123456 # 可以选择在数据库中创建单独的canal账户

- canal.instance.tsdb.enable=false

- canal.instance.filter.regex=.\*\\\\..\* #扫描数据库下所有的库和表 格式可以修改为: 数据库.表 比如: db_yousahng.*

volumes:

- canal_conf:/home/admin/canal-server/conf/

- canal_logs:/home/admin/canal-server/logs/

volumes:

canal_conf:

canal_logs:

安装mysql集群 基于docker-compoer安装

version: '3'

services:

mysql-docker:

restart: always

container_name: mysql-docker # 指定容器的名称

image: mysql:8.0.16 # 指定镜像和版本

ports:

- "3306:3306"

environment:

TZ: Asia/Shanghai

MYSQL_ROOT_PASSWORD: 123456

command: [

'--character-set-server=utf8mb4',

'--collation-server=utf8mb4_unicode_ci',

'--explicit_defaults_for_timestamp=true',

'--default-authentication-plugin=mysql_native_password',

'--lower-case-table-names=1'

]

volumes:

- "mysql_data:/var/lib/mysql" # 挂载数据目录

- "mysql_config:/etc/mysql/conf.d" # 挂载配置文件目录

volumes:

mysql_data:

mysql_config:

使用说明

修改mysql配置文件:my.cnf

canal 查看对应的配置

canal 配置字段说明

docker-compose中已经说的差不多了

mysql 配置字段说明

[mysqld]

log-bin=mysql-bin # 开启 binlog

binlog-format=ROW # 选择 ROW 模式,需要先开启 Binlog 写入功能

server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

参与贡献

canal官方wiki:[https://github.com/alibaba/canal/wiki/QuickStart]

码云特技

使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md

GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目

canal能监控多个mysql_learning-mysql-canal相关推荐

  1. Canal实时监控mysql数据库

    1. canal原理概述 1.1 mysql的主从复制原理1.1.1 mysql master将数据变更写入二进制日志(binlog,其中记录叫二进制日志事件,可通过show binlog event ...

  2. docker 安装mysql、canal、redis实现redis和mysql缓存一致性

    一.canal介绍 Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件. 目前,Canal 主要支持了 MySQL 的 Binlog 解析,解析完成后才利 ...

  3. Docker安装部署MySQL+Canal+Kafka+Camus+HIVE数据实时同步

    因为公司业务需求要将mysql的数据实时同步到hive中,在网上找到一套可用的方案,即MySQL+Canal+Kafka+Camus+HIVE的数据流通方式,因为是首次搭建,所以暂时使用伪分布式的搭建 ...

  4. 【大数据】M1 mac win docker安装kafka+mysql+canal

    文章目录 kafka docker-compose创建kafka 容器启动以后,访问容器,并且发送消息测试 问题 Exception in thread "main" kafka. ...

  5. Canal实时监控案例

    Canal实时监控案例 文章目录 Canal实时监控案例 0. 写在前面 1. TCP 模式测试 1.1 IDEA创建项目canal-module 1.2 通用监视类--CanalClient 1.2 ...

  6. mysql canal 安装测试_canal安装配置与mysql操作监听,我已经帮你踩过了所有的坑...

    canal安装配置与mysql操作监听,我已经帮你踩过了所有的坑 废话不再多说,直接撸代码 第一步,canal配置 第二步,mysql配置 第三步,如何解决出现的错误 废话不再多说,直接撸代码 第一步 ...

  7. Canal监听阿里云RDS Mysql踩坑

    Canal监听阿里云RDS Mysql中间的坑 canal下载安装,mysql binlog开启常规操作,照着github上的指导就完事了 1)需要保证账号有如下权限,让管理员大大开一下,否则报权限错 ...

  8. canal原理的一些学习-1(canal的一些原理性介绍)

    1. cannal 是什么,能做什么用 1.1 mysql的binlog 1.2 mysql 的主从复制过程 1.3 canal能够同步数据的原理 2. quick start 3. canal 的设 ...

  9. canal 历史数据如何处理_MySQL日志解析工具Canal的使用

    canal伪装为slave存在 接收master的同步日志 什么是Canal 简单来说就是MySQL数据同步工具,通过canal可以实现对MySQL数据变更的监听,获取数据变更情况,并应用到业务中,举 ...

最新文章

  1. 深度学习如何挑选GPU?
  2. 第二届Bio-protocol生物实验短视频大赛作品征集开始 | 奖品丰厚,等你来拿
  3. 精通init ramfs构建
  4. quartz SpringMvc 动态定时任务(quartz2.2)
  5. plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)
  6. python导入模块的常用方法_(9)python模块的定义、导入、优化,常用模块
  7. 【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing
  8. dispatch_async 与 dispatch_get_global_queue 的使用方法
  9. java游戏开发教程_JAVA快速开发游戏代码实现 aide教程
  10. 7月SCI/SSCI期刊变动,警惕这5本被剔除
  11. CMMI认证过程中实施步骤详解
  12. 旋转立方体相册HTML+CSS
  13. HTML如何把输入框变成必填值,required输入框为必填项
  14. 个性的留言.html,个性留言经典语录集锦
  15. 放弃了灰色轨迹的人,放弃了木马帝国的人(ALLyeSNO)
  16. Telephone--短信发送/接收流程
  17. python 正则 匹配任意字符串_python中正则匹配
  18. 6.#闲谈|小编一手腾讯课堂送花脚本 javascript
  19. 基于PP-ShiTu的商品识别系统
  20. 估值近百亿,“创维三把手”酷开科技能否顺利赶考?

热门文章

  1. php获取文件真实后缀,php获取文件后缀的9种方法(收藏) - strrpos
  2. mysql 快照读 幻读,InnoDB的MVCC如何解决不可重复读和快照读的幻读,当前读用next-key解决幻读...
  3. java数据安全_java数据安全(一)
  4. linux系统简单操作代码,Linux系统编程:简单文件IO操作(示例代码)
  5. js实现一键复制到剪切板上_你的“剪切板”正在被网赚者控制
  6. 天龙固件U盘更新_硅格T18D量产工具下载_硅格T18D量产工具官方版下载[u盘格式化]...
  7. android从放弃到精通 第三天 我还活着
  8. syslog介绍-CS架构来采集系统日志
  9. 无损压缩算法历史——熵编码是最早出现的,后来才有Lzx这些压缩算法
  10. es根据磁盘使用情况来决定是否分配shard