前言

clickhouse的查询速度非常快,而且兼容大部分MySQL的sql语法,因此一般将clickhouse作为MySQL的读库。

本文提供两种clickhouse同步MySQL的方式

  • clickhouse版本:21.2.4.6
  • MySQL版本:8.0.22

使用MySQL引擎

nil

使用MaterializedMySQL引擎

目前(2022年7月25日)这还只是个实验功能。

配置MySQL

  1. 修改MySQL的配置文件,启用gtid,binlog等
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv=
character_set_server = utf8mb4
max_connections=5000
max_user_connections=3000
transaction_isolation=READ-COMMITTED
wait_timeout=300
default-time_zone='+8:00'
server_id=1
expire_logs_days=5
binlog-format=row
# 指定需要同步的数据库
binlog-do-db=testdb
enforce-gtid-consistency=on
log-slave-updates=on
gtid-mode=on
default_authentication_plugin=mysql_native_password
  1. 在MySQL创建用于同步的账号

配置clickhouse

-- 启用MaterializeMySQL引擎的功能
set allow_experimental_database_materialized_mysql = 1; -- 指定MySQL的IP、端口、数据库、同步用户及其密码,同步用户需要有主从复制的权限
-- 使用materialized_mysql_tables_list指定需要同步的数据表,该参数只有新版(至少v22)才官方支持
CREATE DATABASE testdb1_ch ENGINE = MaterializeMySQL('192.168.0.10:3306', 'testdb1', 'syncuser', 'syncpass') SETTINGS materialized_mysql_tables_list='table1,table2';

配置完成后直接测试即可。

参考

[clickhouse]同步MySQL的更多相关文章

  1. solr6.4.1搜索引擎同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  2. 使用Logstash来实时同步MySQL数据到ES

    上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...

  3. 使用logstash同步MySQL数据到ES

    使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...

  4. logstash同步mysql数据失败

      问题描述 前提: 项目采用Elasticsearch提供搜索服务,Mysql提供存储服务,通过Logstash将Mysql中数据同步到Elasticsearch. 问题: 使用logstash-j ...

  5. solr6.4.1搜索引擎(3)增量同步mysql数据库

    尚未实现首次同步mysql数据库的,请参考我的另一篇文章http://www.cnblogs.com/zhuwenjoyce/p/6512378.html(solr6.4.1搜索引擎同步mysql数据 ...

  6. solr6.4.1搜索引擎(2)首次同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  7. Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题

    今天在使用Logstash的jdbc_input插件同步Mysql数据时,本来应该能搜索出10条数据,结果在Elasticsearch中只看到了4条,终端中只给出了如下信息 [2017-08-25T1 ...

  8. Logstash同步mysql数据库信息到ES

    @font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @fo ...

  9. 推荐一个同步Mysql数据到Elasticsearch的工具

    把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...

  10. 使用canal增量同步mysql数据库信息到ElasticSearch

    本文介绍如何使用canal增量同步mysql数据库信息到ElasticSearch.(注意:是增量!!!) 1.简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系 ...

随机推荐

  1. 2022-01-01:给定int[][] meetings,比如 { {66, 70} 0号会议截止时间66,获得收益70 {25, 90} 1号会议截止时间25,获得收益90

    2022-01-01:给定int[][] meetings,比如 { {66, 70} 0号会议截止时间66,获得收益70 {25, 90} 1号会议截止时间25,获得收益90 {50, 30} 2号 ...

  2. 2021-09-28:合并区间。以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠

    2021-09-28:合并区间.以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间,并返回一个不重叠 ...

  3. 函数strncpy和memcpy的区别

    1定义 1.1 memcpy void *memcpy(void *destin, void *source, unsigned n); 参数 *destin ---- 需要粘贴的新数据(地址) *s ...

  4. Redis的三种持久化策略及选取建议

    概述 Redis是一个基于内存的高性能的键值型数据库,它支持三种不同的持久化策略:RDB(快照).AOF(追加文件).混合.这三种策略各有优缺点,需要根据不同的场景和需求进行选择和配置.本文将介绍这三 ...

  5. PictureBox保存图片照片到数据库

    Private Sub PAPHOTO_SAVE() Try If TxtPictureURL.Text.ToString <> "" Then Dim SQL_Str ...

  6. 记一次排查:接口返回值写入excel后,从单元格copy出来的数据会带有多重引号的问题

    在项目里刚好有3个服务,同一个网关内层的3个服务,两个php的,一个golang的,为了提高负载以及进行分流,部分客户的接口调用会被网关自动分配到go服务. 恰好为了测试,我写了一个全量用户的生产.测 ...

  7. 【重学C++】02 脱离指针陷阱:深入浅出 C++ 智能指针

    文章首发 [重学C++]02 脱离指针陷阱:深入浅出 C++ 智能指针 前言 大家好,今天是[重学C++]系列的第二讲,我们来聊聊C++的智能指针. 为什么需要智能指针 在上一讲<01 C++如 ...

  8. centOS 7 添加删除用户和用户组

    1.添加新用户 由于日常使用时root用户权限过大,所以添加一个用户供日常使用,或者供他人使用. 1 新增用户 adduser [用户名] [root@centos ~]# adduser dex 2 ...

  9. 在.net项目中添加Husky.Net提交验证

    参考:C# 项目添加 husky - jesn - 博客园 (cnblogs.com) 官方文档:Getting Started | Husky.Net (alirezanet.github.io) ...

  10. 高级程序员和新手小白程序员区别你是那个等级看解决bug速度

    IT入门深似海 ,程序员行业,我觉得是最难做的.加不完的班,熬不完的夜. 和产品经理,扯不清,理还乱的宿命关系 一直都在 新需求-做项目-解决问题-解决bug-新需求 好像一直都是这么一个循环.(哈哈 ...