广告
返回顶部
首页 > 资讯 > 数据库 >clickhouse实时同步MySQL数据
  • 950
分享到

clickhouse实时同步MySQL数据

mysqlclickhouse数据库 2023-09-02 21:09:49 950人浏览 独家记忆
摘要

两种方式         1、使用clickhouse表引擎,直接从Mysql中读取数据(针对表),如果业务需求不是很复杂,可以选择此方式,需要哪张表就配置哪张表,操作简单,数据实时同步;         2、使用clickhouse数据库

两种方式

        1、使用clickhouse表引擎,直接从Mysql中读取数据(针对表),如果业务需求不是很复杂,可以选择此方式,需要哪张表就配置哪张表,操作简单,数据实时同步;

        2、使用clickhouse数据库引擎,同步mysql数据库,配置稍微复杂一点,我是没有配置成功,这里就不介绍了。因为我使用的是mariadb(10.5.16),某些配置项不存在,网上也没找到,就没有研究了,有调通的小伙伴可以评论交流。

        方式2已经有解决方案:

        https://mp.csdn.net/mp_blog/creation/editor/131109231

一、配置Mysql

        1、准备好数据库以及数据表

                CREATE DATABASE db1;

                

                CREATE TABLE db1.table1 (
                        id INT,
                        column1 VARCHAR(255)
                );

        2、随便插入点数据

                INSERT INTO db1.table1
                        (id, column1)
                VALUES
                        (1, 'abc'),
                        (2, 'def'),
                        (3, 'ghi');

        3、创建数据库连接账号并赋予权限

                供clickhouse通过表引擎连接MySQL使用

                CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'PassWord123!';

                GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';

二、配置clickhouse

        1、创建表并使用表引擎连接MySQL数据库中的表

                CREATE TABLE mysql_table1 (
                        id UInt64,
                        column1 String
                )
                ENGINE = MySQL('127.0.0.1','db1','table1','mysql_clickhouse','Password123!')

参数描述
host主机名或 IP127.0.0.1
databaseMySQL 数据库名称db1
tableMySQL 表名table1
user用于连接到 MySQL 的用户名mysql_clickhouse
password用于连接到 MySQL 的密码Password123!

三、测试

        1、在MySQL中插入数据:

                INSERT INTO db1.table1
                        (id, column1)
                VALUES
                        (4, 'jkl');

        2、在clickhouse中查询

                SELECT
                        id,
                        column1
                FROM mysql_table1

                你会发现刚刚在MySQL中插入的数据

                Query id: 6d590083-841e-4e95-8715-ef37d3e95197

                ┌─id─┬─column1─┐
                │  1 │ abc     │
                │  2 │ def     │
                │  3 │ ghi     │
                │  4 │ jkl     │
                └────┴─────────┘

                4 rows in set. Elapsed: 0.044 sec.

        3、在clickhouse中插入数据

                INSERT INTO mysql_table1
                        (id, column1)
                VALUES
                        (5,'mno')

        4、在MySQL中查询

                mysql> select id,column1 from db1.table1;

                你会发现在clickhouse中插入的数据

                +------+---------+
                | id   | column1 |
                +------+---------+
                |    1 | abc     |
                |    2 | def     |
                |    3 | ghi     |
                |    4 | jkl     |
                |    5 | mno     |
                +------+---------+
                5 rows in set (0.01 sec)

四、总结

        通过表引擎连接MySQL,可以实现双向数据同步,简单快捷,需要哪张表就连接哪张表,当数据量不大时,没什么影响,我找到了一张mariadb中45个G的表,配置好表引擎连接之后,数据是加载不出来的,感觉clickhouse只是通过MySQL表引擎连接上了MySQL数据库,查询还是通过MySQL来查询的,45个G的数据量并不小,MySQL查询耗时较高,clickhouse加载超时时间为30s,加载不出来。

        另外,可以通过在clickhouse创建只读权限的数据库连接账号,即可控制双向数据同步时读写权限的区分了,MySQL自身就可以配置主从,如果使用MySQL从库来和clickhouse进行连接的话,必须要控制好读写权限,MySQL从库一旦写入数据之后,等到下一次主库同步数据至从库时,必然会导致MySQL主从断开,一定注意!!!

来源地址:https://blog.csdn.net/qq_36803154/article/details/130819487

您可能感兴趣的文档:

--结束END--

本文标题: clickhouse实时同步MySQL数据

本文链接: https://www.lsjlt.com/news/391504.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • clickhouse实时同步MySQL数据
    两种方式         1、使用clickhouse表引擎,直接从MySQL中读取数据(针对表),如果业务需求不是很复杂,可以选择此方式,需要哪张表就配置哪张表,操作简单,数据实时同步;         2、使用clickhouse数据库...
    99+
    2023-09-02
    mysql clickhouse 数据库
  • MySQL 到 ClickHouse 实时数据同步实操
    摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步。我自己亲测了一种方式,可以非常方便地...
    99+
    2022-11-13
  • ClickHouse同步MySQL数据
    目录 1 概述1.1 特点1.2 使用细则 2 案例实操2.1 MySQL 开启 binlog 和 GTID 模式2.2 准备 MySQL 表和数据2.3 开启 ClickHouse 物化...
    99+
    2023-08-31
    mysql 数据库 clickhouse
  • Mysql数据实时同步实践
    关于小米内部使用的数据库你知道多少?背景Mysql由于自身简单、高效、可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,mysql的相关操作会变的非常迟缓;如果这时还有实时BI...
    99+
    2022-10-18
  • MySQL 到Oracle 实时数据同步
    目录第一步:配置MySQL 连接第二步:配置 Oracle连接第四步:进行数据校验其他数据库的同步操作摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同...
    99+
    2022-11-12
  • 设计 | ClickHouse 分布式表实现数据同步
    作者:吴帆 青云数据库团队成员 主要负责维护 MySQL 及 ClickHouse 产品开发,擅长故障分析,性能优化。 在多副本分布式 ClickHouse 集群中,通常需要使用 Distributed 表写入或读取数据,Distr...
    99+
    2021-07-11
    设计 | ClickHouse 分布式表实现数据同步
  • python实现MySQL指定表增量同步数据到clickhouse的脚本
    python实现MySQL指定表增量同步数据到clickhouse,脚本如下: #!/usr/bin/env python3 # _*_ coding:utf8 _*_ from pymysqlreplica...
    99+
    2022-05-14
    python实现MySQL增量同步数据 python MySQL clickhouse
  • 阿里云MySQL数据库实时同步
    在当今的信息时代,数据是企业的生命线,而数据库则是数据存储和管理的关键。如何保证数据库数据的安全、稳定和实时性,成为企业面临的重要问题。而阿里云的MySQL数据库实时同步服务,正好解决了这个问题。 一、问题提出随着企业的业务不断扩大,数据量...
    99+
    2023-10-29
    阿里 实时 数据库
  • 基于Flink CDC实时同步数据(MySQL到MySQL)
    一、环境 jdk8Flink 1.16.1(部署在远程服务器:192.168.137.99)Flink CDC 2.3.0MySQL 8.0(安装在本地:192.168.3.31) (安装部署过程略) 二、准备 准备三个数据库:flink_...
    99+
    2023-08-16
    mysql flink etl
  • 如何使用Maxwell实时同步mysql数据
    目录Maxwell简介Maxwell的配置与使用1.下载Maxwell安装包2.配置mysql,打开mysql binlog日志3.启动Maxwell,主要介绍数据写入rabbitm...
    99+
    2022-11-12
  • Canal中怎么实现MySQL数据库实时数据同步
    这期内容当中小编将会给大家带来有关Canal中怎么实现MySQL数据库实时数据同步,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.1 canal介绍Canal是一个基于...
    99+
    2022-10-18
  • canal使用说明:MySQL、Redis实时数据同步
    1. canal简介 canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等 ...
    99+
    2023-09-08
    mysql redis 数据库
  • MySQL到Oracle如何进行实时数据同步
    这篇文章将为大家详细讲解有关MySQL到Oracle如何进行实时数据同步,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步:配置MySQL 连接点击 Tapdata Cloud 操作后台左...
    99+
    2023-06-26
  • 详解Flink同步Kafka数据到ClickHouse分布式表
    目录引言什么是ClickHouse?创建复制表通过jdbc写入引言 业务需要一种OLAP引擎,可以做到实时写入存储和查询计算功能,提供高效、稳健的实时数据服务,最终决定ClickHouse 什么是ClickHouse?...
    99+
    2022-12-01
    Flink数据同步KafkaClickHouse ClickHouse分布式表
  • GoldenGate帮助MySQL到Oracle的数据实现实时同步
    本篇文章给大家主要讲的是关于GoldenGate帮助MySQL到Oracle的数据实现实时同步的内容,感兴趣的话就一起来看看这篇文章吧,相信看完GoldenGate帮助MySQL到Oracle的数据实现实时...
    99+
    2022-10-18
  • Linux数据实时同步(sersync+rsync)
    需求:由于单台服务器存储着所有的文件,为了防止服务器故障导致文件丢失或者损坏,先将Master(175)/var/ftp/pub/的目录文件实时备份到Slave(176)/backup/目录下。环境:说明:Rsync可以远程同步,支持本地复...
    99+
    2023-05-16
    Linux 数据同步 Rsync
  • 实时同步!从MySQL到SelectDB的无缝数据迁移
    随着数据分析在业务决策中变得日益重要,数据实时同步和分析成为企业提升竞争力的关键。MySQL 作为广泛使用的关系型数据库,其数据存储丰富,但无法满足大规模数据分析和高并发查询的需求。而 SelectDB 作为一款专为大数据分析设计的分布式数...
    99+
    2023-09-06
    mysql 数据库 数据库开发 dba
  • 利用python怎么将MySQL指定的表增量同步数据到clickhouse脚本
    本篇文章为大家展示了利用python怎么将MySQL指定的表增量同步数据到clickhouse脚本,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python实现MySQL指定表增量同步数据到clic...
    99+
    2023-06-06
  • MySQL同步数据Replication的实现步骤
    目录一、同步复制数据基本原理二、同步数据示例1、修改主从mysql配置文件2、主机建立同步账号,并查看主库状态信息3、从机同步配置4、查看同步配置效果MySQL提供了Replication功能,可以实现将一个数据库的数据...
    99+
    2023-03-24
    MySQL同步数据Replication MySQL Replication同步
  • Canal+Kafka实现Mysql数据同步
    Canal介绍 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。 canal是应阿里巴巴...
    99+
    2023-09-05
    kafka mysql 分布式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作