clickhouse实时同步MySQL数据

这篇具有很好参考价值的文章主要介绍了clickhouse实时同步MySQL数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

两种方式

        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 主机名或 IP 127.0.0.1
database MySQL 数据库名称 db1
table MySQL 表名 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://www.toymoban.com/news/detail-616679.html

到了这里,关于clickhouse实时同步MySQL数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql、clickhouse查询数据库所有的表以及字段信息

    mysql查询数据库所有的表以及字段信息 SELECT     table_schema 数据库名,   table_name 表名,   COLUMN_NAME 列名,   COLUMN_TYPE 数据类型,   DATA_TYPE 字段类型,   CHARACTER_MAXIMUM_LENGTH 长度,   IS_NULLABLE 是否为空,   COLUMN_DEFAULT 默认值,   COLUMN_COMMENT 备注  FROM  INFORMATION_SCHEMA.COLUMNS where -- tab

    2024年02月08日
    浏览(65)
  • 二百三十二、Kettle——修改MySQL中历史数据为当前系统日期并增量同步到ClickHouse中

    由于一些雷达死了但是又需要有数据进行展示,于是就把这些雷达的历史数据,修改日期为当前日期后,增量同步到ClickHouse中, 1、获取当前日期,并且修改历史数据的create_time字段的日期部分 2、如果采用增量表输出的话,还需要获取ClickHouse表中的最新时间,这样有2个变量

    2024年04月13日
    浏览(37)
  • 用flink cdc sqlserver 将数据实时同步到clickhouse

    flink cdc 终于支持 sqlserver 了。 现在互联网公司用sqlserver的不多,大部分都是一些国企的老旧系统。我们以前同步数据,都是用datax,但是不能实时同步数据。现在有了flinkcdc,可以实现实时同步了。 1、首先sqlserver版本:要求sqlserver版本为14及以上,也就是 SQL Server 2017 版。

    2023年04月08日
    浏览(43)
  • Clickhouse Engine kafka 将kafka数据同步clickhouse

    根据官方给出的kafka引擎文档,做一个实践记录。 官方地址:https://clickhouse.tech/docs/zh/engines/table-engines/integrations/kafka/ 1、特性介绍 clickhouse支持kafka的表双向同步,其中提供的为Kafka引擎。 其大致情况为如下情况:Kafka主题中存在对应的数据格式,Clickhouse创建一个Kafka引擎表(

    2024年01月16日
    浏览(45)
  • 大数据测试-hive、doris、clickhouse、mysql、elasticsearch、kudu、postgresql、sqlserver

    大数据工作要接触很多的数据库和查询引擎 数据库 : 1、 hive :用于跑批,大批量,稳定,缺点:无update。用于数仓 2、 doris db :已更名starrocks。即时查询 可达千亿级别 文档:什么是 StarRocks @ StarRocks_intro @ StarRocks Docs 3、 clickhouse :亿级别 局限性:主表,单表支持能力强,

    2024年02月05日
    浏览(43)
  • ClickHouse(23)ClickHouse集成Mysql表引擎详细解析

    MySQL引擎可以对存在远程MySQL服务器上的数据执行 SELECT 查询。 调用格式: 调用参数 host:port — MySQL 服务器地址。 database — 数据库的名称。 table — 表名称。 user — 数据库用户。 password — 用户密码。 replace_query — 将 INSERT INTO 查询是否替换为 REPLACE INTO 的标志。如果 replace

    2024年02月19日
    浏览(37)
  • 十分钟掌握 Flink CDC,实现Mysql数据增量备份到Clickhouse [纯干货,建议收藏]

    Clickhouse的优点. 真正的面向列的 DBMS ClickHouse 是一个 DBMS,而不是一个单一的数据库。它允许在运行时创建表和数据库、加载数据和运行 查询,而无需重新配置和重新启动服务器。 数据压缩 一些面向列的 DBMS(InfiniDB CE 和 MonetDB)不使用数据压缩。但是,数据压缩确实提高了

    2024年04月14日
    浏览(50)
  • 【超全面】Docker使用:基本安装 + 常用命令 + 安装mysql、redis、clickhouse + 使用数据卷安装 + 制作镜像

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似

    2024年02月01日
    浏览(66)
  • ClickHouse和MySQL的区别

    ClickHouse和MySQL是两种不同的数据库管理系统,它们具有一些区别和特点。 数据存储结构:ClickHouse是一种列式存储数据库,它以列为单位进行数据存储和处理。这种存储方式在处理大量数据时非常高效,特别适用于分析查询。而MySQL是一种行式存储数据库,以行为单位存储数据

    2024年02月15日
    浏览(42)
  • mysql、clickhouse时间日期加法

    在’2023-10-27 23:59:59’上增加5秒: 按秒: 结果 = toDateTime(‘2022-01-02 23:00:00’) - toDateTime(‘2022-01-01 20:00:00’) 按时:

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包