首页 > 数据库 >canal 同步mysql到rocketMQ

canal 同步mysql到rocketMQ

时间:2023-04-06 13:11:54浏览次数:51  
标签:canal risk admin instance rocketMQ mysql rocketmq

https://github.com/alibaba/canal/wiki/canal介绍
https://github.com/alibaba/canal/releases

地址:
Mysql 172.31.100.1 33066
rocketMQ http://172.31.100.1:8181
Canal-admin http://172.31.100.2:8089/ admin 123456
一、Mysql5.7配置
(1)###拉取镜像mysql5.7
docker pull mysql:5.7

(2)###运行 mysql5.7 容器
sudo docker run -itd
--privileged=true
--restart=always
--name mysql_mzn
-v /home/project/mysql_mzn_data/conf:/etc/mysql/conf.d \
-v /home/project/mysql_mzn_data/data:/var/lib/mysql \
-v /home/project/mysql_mzn_data/logs:/logs
-p 33066:3306 \
-e MYSQL_ROOT_PASSWORD=Sft@123456
--character_set_server=utf8
mysql:5.7
(3)查看binlog 是否开启 show viriables like ‘%log_bin%’
(4)编辑my.cnf ,docker restart mysql_mzn 重启mysql
log_bin=ON
binlog_format=ROW
server-id=666

二 、canal-deployer
执行端
1.配置数据库信息(一个instance)
conf目录下, 参照example 目录可以创建多个实例,配置目录下的instance.properties

数据库连接信息

canal.instance.master.address=172.31.100.1:33066
canal.instance.dbUsername=root
canal.instance.dbPassword=Sft@123456
canal.instance.connectionCharset = UTF-8

regix配置传输的表 及 黑名单

canal.instance.filter.regex=riskdb_risk\.risk.*
canal.instance.filter.black.regex=riskdb_risk\.slave_.*

目标mq的主题

canal.mq.topic=riskdb_risk

2.配置mq信息 /conf/canal.properties

为管理端提供的信息,不用则可不配

canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441

选择第一部中的配置目录

canal.destinations = riskdb_risk

选择mq

canal.serverMode = rocketMQ

配置RocketMq信息

rocketmq.producer.group = riskdb_risk
rocketmq.enable.message.trace = false
rocketmq.customized.trace.topic =riskdb_risk
rocketmq.namespace =
rocketmq.namesrv.addr = 172.31.100.1:9876
rocketmq.retry.times.when.send.failed = 0
rocketmq.vip.channel.enabled = false
rocketmq.tag = 172

3.sh startup.sh local
启动,启动日志在logs相应的文件夹下,查看是否启动成功
修改数据,查看mq中是否产生消息。
三、Canal-admin
管理端
instance,对应canal-server里的instance,一个最小的订阅mysql的队列
server,对应canal-server,一个server里可以包含多个instance
集群,对应一组canal-server,组合在一起面向高可用HA的运维

1.部署
(1)解压
(2)创建元数据库,执行conf 下的sql文件
(3)配置application.yml ,
配置元数据库信息,
配置http端口,
配置deployer
填入deployer的canal.admin.user /canal.admin.passwd (admin/admin)

(4)执行startup.sh ,日志在logs/admin.log
(5) 访问ip:port ,账户/密码 默认为 admin/123456

标签:canal,risk,admin,instance,rocketMQ,mysql,rocketmq
From: https://www.cnblogs.com/mznsndy/p/17292446.html

相关文章

  • 书评《MySQL必知必会》
    对数据库基本无了解的我,打算了解一下数据库/SQL的功能操作,于是想选一本讲数据库操作的书,看到网络上最推荐的书籍就是——《SQL必知必会》和《MySQL必知必会》。这两本书有什么区别?《SQL必知必会》只讲SQL,《MySQL必知必会》除了讲SQL,还针对MySQL讲了一些知识。考虑到《MySQL必知必会......
  • 无备份情况下恢复MySQL truncate table
    近期陆续有客户遇到MySQL的数据库问题,最近正好开始研究MySQL的一些技术。大家都知道我之前是擅长Oracle恢复,如果不会MySQL数据库恢复,总感觉却少一点什么。既然如此,就顺道研究一下吧。幸运的是,Google能够发现一些针对MySQL的恢复文章以及一些工具。我们都知道,MySQLServer都很多存......
  • MySQL中的行转列和列转行
    参考:[MySQL中的行转列和列转行-墨天轮](https://www.modb.pro/db/74028)行转列与列转行的概念什么是行转列什么是列转行行转列实验示例示例一:使用聚合函数示例二:使用group_concat函数示例三:使用动态SQL语句块列转行实验示例示例一:使用unionall......
  • 力扣626(MySQL)-换座位(中等)
    题目:表: Seat编写SQL查询来交换每两个连续的学生的座位号。如果学生的数量是奇数,则最后一个学生的id不交换。按 id 升序 返回结果表。查询结果格式如下所示。示例1: 解释:请注意,如果学生人数为奇数,则不需要更换最后一名学生的座位。解题思路:①交换座位号是交换相......
  • 31.mysql查看所有索引
    当对大表进行数据迁移时,往往索引是个大问题,不但用时较长,且容易造成锁表,此时针对某些情况,就可以先备份索引信息,然后删除原表索引,数据迁移完成之后,再重建索引SELECTCONCAT('ALTERTABLE`',TABLE_NAME,'`',......
  • 关于mysql的and和or
    写了一个查询语句结果踩坑了,这个and和or分不清楚谁的优先级高在页面上看到了已经被删除的数据,我就知道糟了。话不读说直接看代码<selectid="listByUsPage"resultType="com.wuling.product.domain.TaskInfo">select*from(select*fromproject_......
  • mysql运维-------日志
    1.错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysql启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。该日志是默认开启的,默认放在目录/var/log/,默认的日志文件名为mysqld.log。查看日......
  • Mysql学习笔记(连载中)
    Mysql01使用CMD连接数据库--在控制台连接数据库(需将位置切换到mysql所在地址)mysql-uroot-ppassword:12345--修改mysql账户密码及权限,安装配置完后慎用updatemysql.usersetauthentication_string=password('12345')whereuser='root'andHost='localhost';......
  • 力扣620(MySQL)-有趣的电影(简单)
    题目:某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个SQL查询,找出所有影片描述为非 boring (不无聊) 的并且id为奇数 的影片,结果请按等级......
  • Linux 中知心mysql的sql文件
    1.连接mysql[root@hadoop4~]#mysql-uroot-p  2.创建库mysql>CREATEDATABASEspring; 3.查看并切换数据库mysql>showdatabases;mysql>usespring 3.执行sql文件(source/usr/user.sql) ......