MySQL 到 ClickHouse 实时数据同步实操

摘要:

很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步。我自己亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到ClickHouse,跟大家分享一下,希望对你有帮助。

MySQL 到 ClickHouse 实时数据同步实操分享

本次 MySQL 数据实时同步到ClickHouse大概只花了几分钟就完成。使用的工具是Tapdata Cloud ,这个工具是永久免费的。

@[TOC](MySQL 到 ClickHouse 实时数据同步实操分享)

第一步:配置MySQL 连接

1.点击 Tapdata Cloud 操作后台左侧菜单栏的【连接管理】,然后点击右侧区域【连接列表】右上角的【创建连接】按钮,打开连接类型选择页面,然后选择MySQL

2.在打开的连接信息配置页面依次输入需要的配置信息

【连 接 名 称】:设置连接的名称,多个连接的名称不能重复 【数据库地址】:数据库 IP / Host 【端 口】:数据库端口 【数据库名称】:tapdata 数据库连接是以一个 db 为一个数据源。这里的 db 是指一个数据库实例中的 database,而不是一个 mysql 实例。 【账 号】:可以访问数据库的账号 【密 码】:数据库账号对应的密码 【时 间 时 区】:默认使用该数据库的时区;若指定时区,则使用指定后的时区设置

3.测试连接,提示测试通过

4.测试通过后保存连接即可。

第二步:配置ClickHouse 连接

3.同第一步操作,点击左侧菜单栏的【连接管理】,然后点击右侧区域【连接列表】右上角的【创建连接】按钮,打开连接类型选择页面,然后选择ClickHouse

4.在打开的连接信息配置页面依次输入需要的配置信息,配置完成后测试连接保存即可。

第三步:选择同步模式-全量/增量/全+增

进入Tapdata Cloud 操作后台任务管理页面,点击添加任务按钮进入任务设置流程

根据刚才建好的连接,选定源端与目标端。

根据数据需求,选择需要同步的库、表,如果你对表名有修改需要,可以通过页面中的表名批量修改功能对目标端的表名进行批量设置.

在以上选项设置完毕后,下一步选择同步类型,平台提供全量同步、增量同步、全量+增量同步,设定写入模式和读取数量。

如果选择的是全量+增量同步,在全量任务执行完毕后,Tapdata Agent 会自动进入增量同步状态。在该状态中,Tapdata Agent 会持续监听源端的数据变化(包括:写入、更新、删除),并实时的将这些数据变化写入目标端。

点击任务名称可以打开任务详情页面,可以查看任务详细信息。

点击任务监控可以打开任务执行详情页面,可以查看任务进度/里程碑等的具体信息。

第四步:进行数据校验

一般同步完成后,我都习惯性进行一下数据校验,防止踩坑。

Tapdata Cloud 有三种校验模式,我常用最快的快速count校验 ,只需要选择到要校验的表,不用设置其他复杂的参数和条件,简单方便。

如果觉得不够用,也可以选择表全字段值校验 ,这个除了要选择待校验表外,还需要针对每一个表设置索引字段。

在进行表全字段值校验时,还支持进行高级校验。通过高级校验可以添加JS校验逻辑,可以对源和目标的数据进行校验。

还有一个校验方式关联字段值校验 ,创建关联字段值校验时,除了要选择待校验表外,还需要针对每一个表设置索引字段。

以上就是 MySQL数据实时同步到ClickHouse 的操作分享,相比自己写代码,简直不要太方便了。码字不易,转载请注明出处~

其他数据库的同步操作

其他数据库数据实时同步到 Oracle、MySQL、PG、SQL Server、MongoDB、ES 、达梦、Kafka、GP、MQ、ClickHouse、Hazelcast Cloud、ADB MySQL、ADB PostgreSQL、KunDB、TiDB、Dummy DB 的方式也都是先配置源和目标的连接,然后新建任务选择同步模式:全量/增量/全量+增量,因为步骤相同,其他就不再贴图说明了。创建连接的时候,有没有发现:DB2、Sybase、Gbase 几个数据库现在是灰色锁定状态,应该是在开发中了,可能后续也会支持这些数据库的同步功能

到此这篇关于MySQL 到 ClickHouse 实时数据同步实操的文章就介绍到这了,更多相关MySQL 到 ClickHouse 实时数据同步内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅析mysql迁移到clickhouse的5种方法

    数据迁移需要从mysql导入clickhouse, 总结方案如下,包括clickhouse自身支持的三种方式,第三方工具两种. create table engin mysql CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [DEFAULT|MATERIAL

  • MySQL 到 ClickHouse 实时数据同步实操

    摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到ClickHouse,跟大家分享一下,希望对你有帮助. MySQL 到 ClickHouse 实时数据同步实操分享 本次 MySQL 数据实时同步到ClickHouse大概只花了几分钟就完成.使用的工具是Tapdata Cloud ,这个工具是永久免费的. @[TOC](MySQL 到

  • python实现MySQL指定表增量同步数据到clickhouse的脚本

    python实现MySQL指定表增量同步数据到clickhouse,脚本如下: #!/usr/bin/env python3 # _*_ coding:utf8 _*_ from pymysqlreplication import BinLogStreamReader from pymysqlreplication.row_event import (DeleteRowsEvent,UpdateRowsEvent,WriteRowsEvent,) import clickhouse_driver

  • MySQL 到Oracle 实时数据同步

    目录 第一步:配置MySQL 连接 第二步:配置 Oracle连接 第四步:进行数据校验 其他数据库的同步操作 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.本文亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到Oracle,跟大家分享一下,希望对你有帮助. 本次 MySQL 数据实时同步到 Oracle大概只花了几分钟就完成.使用的工具是Tapdata Cloud ,这个工具是永久免费

  • MySQL 到Oracle 实时数据同步

    目录 第一步:配置MySQL 连接 第二步:配置 Oracle连接 第四步:进行数据校验 其他数据库的同步操作 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.本文亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到Oracle,跟大家分享一下,希望对你有帮助. 本次 MySQL 数据实时同步到 Oracle大概只花了几分钟就完成.使用的工具是Tapdata Cloud ,这个工具是永久免费

  • MySQL高性能实现Canal数据同步神器

    目录 简介 配置MySQL centos7 安装 canal java客户端 简介 Canal是阿里巴巴基于Java开源的数据同步工具.平时业务场景使用比较多的如下: 同步数据到ES.Redis缓存中. 数据同步. 业务需要监听数据. 图片来源阿里巴巴github仓库:https://github.com/alibaba/canal 配置MySQL 跟配置主从复制类似. 数据执行如下命令: -- 给canal单独创建用户 用户名:canal 密码:123456 create user 'cana

  • MySql删除表中一行的实操方法

    首先你要确定能够唯一确定你那一行数据的字段或字段组合是哪些, DELETE FROM 表名 WHERE 字段1 = '' and 字段2 = '' and ...字段1,...为能够唯一确定某一行数据的字段组合,''中填写你要 删除的字段具体值就可以了 如果有主键,则直接利用主键确定某一行就可以了. DELETE FROM 表名 WHERE 主键 = '具体值'. delete from ms_cf01 where brxm='张三' and id='7598'; 其中: ms_cf01 为你所

  • 详解Mysql如何实现数据同步到Elasticsearch

    目录 一.同步原理 二.logstash-input-jdbc 三.go-mysql-elasticsearch 四.elasticsearch-jdbc 五.logstash-input-jdbc实现同步 六.go-mysql-elasticsearch实现同步 七.elasticsearch-jdbc实现同步 一.同步原理 基于Mysql的binlog日志订阅:binlog日志是Mysql用来记录数据实时的变化 Mysql数据同步到ES中分为两种,分别是全量同步和增量同步 全量同步表示第一次

  • 减少mysql主从数据同步延迟问题的详解

    基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素: 1. 网络延迟2. master负载3. slave负载一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器,只作为备份用,不进行其他任何操作,就能相对最大限度地达到'实时'的要求了 另外,再介绍2个可以减少延迟的参数 –slave-net-timeout=seconds  参数含义:当slave从主数据库读取log数据失败后,等待多久重新

  • MySQL特定表全量、增量数据同步到消息队列-解决方案

    目录 1.原始需求 2.解决方案 3.canal介绍.安装 canal的工作原理 架构 安装 4.验证 1.原始需求 既要同步原始全量数据,也要实时同步MySQL特定库的特定表增量数据,同时对应的修改.删除也要对应. 数据同步不能有侵入性:不能更改业务程序,并且不能对业务侧有太大性能压力. 应用场景:数据ETL同步.降低业务服务器压力. 2.解决方案 3.canal介绍.安装 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了M

  • Python 实操显示数据图表并固定时间长度

    目录 1.非定长的时间轴 2.定长时间轴 实时显示数据 前言: python利用matplotlib库中的plt.ion()函数实现即时数据动态显示: 1.非定长的时间轴 代码示例: # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import time from math import * plt.ion() #开启interactive mode 成功的关键函数 plt.figure(1)

  • Mysql给普通分页查询结果加序号实操

    目录 一.效果展示 1.普通查询加序号 2.分页查询加序号 二.表结构以及数据 三.解释说明 一.效果展示 1.普通查询加序号 SELECT t1.NAME,( @i := @i + 1 ) AS '序号' FROM t1,( SELECT @i := 0 ) AS itable; 这种情况遇上分页时会出现每次翻页都从1开始重新计算,这种情况可以使用分页偏移量作为开始计算数,解决方案如下: 2.分页查询加序号 SELECT ( @i := @i + 1 ) AS '序号' ,t1.NAME FR

随机推荐