(二)MaterializedMySQL具体实施步骤举例

要将 MySQL 中的 test 数据库实时同步到位于同一台服务器(IP 地址为 192.168.197.128)上的 ClickHouse,您可以使用 MaterializedMySQL 引擎。以下是详细的步骤:

1. 准备工作

确保您的 MySQL 和 ClickHouse 服务都在运行,并且您具有所需的权限和凭据来访问这两个数据库。

2. 配置 MySQL

在 MySQL 上执行以下操作:

  • 确保您的 MySQL 实例已启用二进制日志(binlog),这是实现实时同步的必要条件。

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog_format=ROW 
    
  • 配置 gtid_modeenforce_gtid_consistency。这通常通过编辑 MySQL 的配置文件(比如 my.cnfmy.ini)来完成。您需要添加或更新以下行:

    gtid_mode = ON
    enforce_gtid_consistency = ON
    
  • 重启 MySQL 服务以应用这些更改。
    systemctl restart mysqld

3. 配置 ClickHouse

在 ClickHouse 上执行以下操作:

  • 登录到 ClickHouse。假设您使用的是默认用户和提供的密码:

    clickhouse-client --host 192.168.197.128 --user default --password AAAaaa
    
  • 启用 MaterializedMySQL 引擎。在 ClickHouse 客户端中,执行以下命令:

    SET allow_experimental_database_materialized_mysql = 1;
    

4. 创建 MaterializedMySQL 数据库

  • 在 ClickHouse 中创建一个新的数据库,使用 MaterializedMySQL 引擎连接到您的 MySQL test 数据库(如果没有自己去创建一个test库,而且表中必须要有主键)。您需要提供 MySQL 服务器的地址、数据库名称、用户和密码:

    CREATE DATABASE mysql_test ENGINE = MaterializedMySQL('192.168.197.128:3306', 'test', 'root', 'QWER@1234');
    

    这将创建一个名为 mysql_test 的新数据库,它将映射到您的 MySQL test 数据库。

5. 验证同步

  • 使用 ClickHouse 客户端检查是否成功同步了数据。例如,您可以列出所有同步的表:

    SHOW TABLES FROM mysql_test;
    
  • 进行一些查询以确保数据同步正常:

    SELECT * FROM mysql_test.your_table_name;
    

    替换 your_table_name 为您在 MySQL test 数据库中的一个实际表名。

注意事项

  • 这些步骤假设您的 MySQL 和 ClickHouse 实例都已正确配置并且可以相互通信。
  • 根据您的具体配置和版本,可能需要进行一些调整。
  • MaterializedMySQL 是一个实验性功能,可能不适用于所有生产环境。
  • 实时同步依赖于 MySQL 的 binlog,因此确保了解与此相关的性能和存储影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/273621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python模拟动态星空

前言 今天,我们来用Python做个星空。 一、模拟星空 1,.首先导入所需要的库: from turtle import * from random import random, randint 2.初始画面: screen Screen() width, height 800, 600 screen.setup(width, height) screen.tit…

Kubernetes (四) 资源清单及yaml文件详解

一. 资源清单 二. 编写yaml文件及内容详解 常用命令 …

canvas随机绘制100个五角星

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…

【新资讯】《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

近年来网络安全事故频发,造成了不少损失和危害。为了减少网络安全事故的发生,规范网络安全事件的报告,国家互联网信息办公室根据《中华人民共和国网络安全法》等法律法规起草了《网络安全事件报告管理办法(征求意见稿)…

混合专家模型 (MoE) 详解

随着 Mixtral 8x7B (announcement, model card) 的推出,一种称为混合专家模型 (Mixed Expert Models,简称 MoEs) 的 Transformer 模型在开源人工智能社区引起了广泛关注。在本篇博文中,我们将深入探讨 MoEs 的核心组件、训练方法,…

智慧停车场:AI智能烟火识别算法在停车场的运用

随着新能源汽车的普及,智慧停车场也越来越多,但由于一些停车场并未进行充电桩改造升级,很多车主私拉电线,大大增加了消防安全隐患。如何保障停车场消防安全,保护居民财产安全? 一、方案概述 TSINGSEE青犀…

Web 3.0 是什么

第 1 章 明晰Web 3.0 从本章开始,就进入了本书的第一篇章,入门Web3.0,在第一篇章中将会让读者对Web3.0有一个整体的认知,为学习后面的章节打下基础。 在本章中,主要介绍的是Web的发展历史,包涵Web1.0、Web2.0、Web3.0的发展过程,以及资本为什么需要入场Web3.0、Web3.0…

.NET CORE 无法调试 当前不会命中断点

多个项目直接可以设置项目的属性->生成->输出的配置文件输出地址 然后路径统一输入该项目的bib/debug/.netcorex.x就可以了

推荐几个好用的开源电子表单设计器

1、Form.io Form.io是一个开源的纯JavaScript表单渲染器和API平台,为开发者提供了一种快速、灵活的方式来构建和管理表单驱动的应用程序。Form.io使用ES6和JavaScript实现(没有jQuery、Angular、React或任何其他框架依赖),将JSON模式渲染为web form表单…

Android Studio 如何隐藏默认标题栏

目录 前言 一、修改清单文件 二、修改代码 三、更多资源 前言 在 Android 应用中,通常会有一个默认的标题栏,用于显示应用的名称和一些操作按钮。但是,在某些情况下,我们可能需要隐藏默认的标题栏,例如自定义标题栏…

模型树实操

很多时候,数据都是有层级和分类的,使用laravel的Dcat框架,可以快速搭建一个结构清晰、且可以鼠标拖拽排序的后台;先上例子更直观: 这里是Dcat的模型树使用文档,戳一下; 重点注意事项有&#x…

C++继承与派生——(4)派生类的构造函数

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 缺乏明确的目标,一生将庸庸…

克魔助手工具下载、注册和登录指南

下载安装克魔助手 摘要 本文介绍了如何下载安装克魔助手工具,以及注册和登录流程。通过简单的步骤,用户可以轻松获取并使用该工具,为后续的手机应用管理操作做好准备。 引言 克魔助手是一款免费的手机管理工具,通过该工具用户…

一款能封堵牙本质小管的牙膏,帮你告别牙齿敏感

冬天来临,牙齿敏感成为了很多人的困扰。吃冷饮、涮火锅都让人倍感不适,这时候一款有效的牙膏就显得格外重要。最近我发现了一款非常不错的清九野小红盾牙膏,它能够有效缓解牙齿敏感问题。 造成“敏感牙”的原因有很多,但根本原因还…

async和await的使用

async和await是promise的一种语法糖,也就是更简单易懂的写法。 在很多项目中,你会经常看到async和await的配合使用,看到原始的promise写法反而不多,就是因为async-await这种写法是用同步的语法去实现异步的逻辑。 基础使用 原生promise写法 let value nulllet proFn new P…

list集合

List集合 List集合的概述 有序集合(也称之为序列),用户可以精确的控制列表中的每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素 与 Set 集合不同,列表通常允许重复的元素 List 集合的特点 有…

【大数据存储与处理】开卷考试总复习笔记

文章目录 实验部分一、 HBase 的基本操作1. HBase Shell入门2. HBase创建数据库表3. HBase数据操作4. HBase删除数据库表5. HBase Python基本编程 before二、 HBase 过滤器操作1.创建表和插入数据2.行键过滤器3.列族与列过滤器4.值过滤器5.其他过滤器6.python hbase 过滤器编程…

7、自建代码管理平台:GitLab/Gitea

GitLab/Gitea 一、GitLab1、 GitLab简介2、 GitLab安装 二、Gitea1、Gitea安装2、Gitea创建仓库3、Gitea注册服务 一、GitLab 1、 GitLab简介 GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git…

CTFshow-pwn入门-栈溢出pwn41-pwn42

pwn41 我们首先将pwn文件下载下来,拖入到虚拟机查看一下文件的保护信息。 chmod x pwn checksec pwn该文件只开启了栈不可执行,并且文件是32位的。 我们把文件托到ida32中查看一下反编译代码。 int __cdecl main(int argc, const char **argv, const c…

MySQL数据库:复合查询

目录 一. 多表查询 二. 子查询 2.1 单行子查询 2.2 多行子查询 2.3 多列子查询 2.4 在from语句中使用子查询 三. 合并查询 3.1 union 3.2 union all 四. 总结 前置说明:本文主要oracle 9i的经典雇员信息测试表为例,进行示例演示。 该表有三个…