canal将mysql数据同步到clickhouse

发布时间:2026/7/16 20:56:02
canal将mysql数据同步到clickhouse 1.配置Mysql1.开启binlog查看是否生效show variables like ‘log_%’;2.新增同步账号我遇到的是配置了这些还不生效重启以下服务就生效了。systemctl restart mysqld.service2.Canal的部署配置1.下载canal下载 canal, 我这里是先下载下来然后再扔到服务器。我下载的版本是 1.1.4 版本。GitHub 下载网络貌似被禁了反正访问很费劲。我是翻墙下载的。https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz当然如果你可以链接到外网你可以在服务器上执行#下载canalan安装包wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz#解压到指定目录tar -zxf canal.deployer-1.1.4.tar.gz2.配置 canal(重点)解压后的有个conf 文件进入 conf 去操作这里网上的资料都是说 要删除掉 conf 下的文件 example在删除之前 先把里边的内容复制到新建的文件夹下这个 canal.destinations maxwell 也就是 你在conf 文件下新建的那个文件且是复制了 example的内容。它的意思是 canal 启动的时候回去读取 conf下的那个文件。 你在 canal.properties 这里配置的一定要和conf 里的名称对应。#查看instance日记会出现以下日记tail -200f logs/maxwell/maxwell.log3.canal-client安装配置1.下载 canal-adapter 1.1.4 版本#下载wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.adapter-1.1.4.tar.gztar -zxf canal.adapter-1.1.4.tar.gz#在lib目录下面添加clickhouse连接驱动httpcore-4.4.13.jar、httpclient-4.3.3.jar、clickhouse-jdbc-0.2.4.jarjar 去 maven 官网下载https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.3.32.配置重点表是要建好的在clickhouse中建表字段与mysql 中的表必须一致。编辑rdb目录下面表的映射文件数据库/表 多个表创建多个映射文件文件名对应表名以此类推进入 canal-adapter/bin 目录 启动cd canal-adapter/bin # 进入目录./startup.sh # 后台启动​ 查看日志是否启动成功cd canal-adapter/adapter/logs/ #进入日志目录tail -f adapter.log # 查看日志是否启动成功开始数据同步现在mysql 增加两条记录查看日志查看clickhouse是否有数据canal数据同步拓展想一个数据库下不同表同步到clickhouse举例fl_db 下的两张表 t_user,region 都想做增量同步则需要在 rdb 目录下配置不同的yml 文件。就可以做不同表的增量同步。mysql插入一条对应的日志信息如下查看clickhouse结果