当前位置: 首页 > news >正文

maxWell数据迁移

  

目录

1.开启mysql的binlog

        1.1: Statement-based

        1.2: Row-based

        1.3: mixed

2. 重启mysql服务

3. 创建Maxwell所需数据库和用户

4. 配置Maxwell

5. Maxwell启停(实时同步)

6. 历史数据全量同步


      这里使用maxWell对mysql数据迁移到kafka中 官网下载地址点击下载 注:Maxwell-1.30.0及以上版本不再支持JDK1.8

        maxWell采集mysql的数据能采集到insert/update/delete的数据

        maxWell采集需要mysql开启binlog

1.开启mysql的binlog

vim /etc/my.cnf
[mysqld]
#数据库id
server-id = 1
#启动binlog,该参数的值会作为binlog的文件名
log-bin=mysql-bin
#binlog类型,maxwell要求为row类型
binlog_format=row
#启用binlog的数据库,需根据实际情况作出修改
binlog-do-db=gmall

mysql的binLog模式介绍

        1.1: Statement-based  

                基于语句,Binlog会记录所有写操作的SQL语句,包括insert、update、delete等。

                优点: 节省空间

                缺点: 有可能造成数据不一致,例如insert语句中包含now()函数。

        1.2: Row-based

                基于行,Binlog会记录每次写操作后被操作行记录的变化。

                优点:保持数据的绝对一致性。

                缺点:占用较大空间。

        1.3: mixed

                混合模式,默认Statement-based,如果SQL语句导致数据不一致,就自动切换Row-based。

        Maxwell要求Binlog采用Row-based模式。

2. 重启mysql服务

systemctl restart mysqld

3. 创建Maxwell所需数据库和用户

        Maxwell需要在MySQL中存储其运行过程中的所需的一些数据,包括binlog同步的断点位置(Maxwell支持断点续传)等等,故需要在MySQL为Maxwell创建数据库及用户。

CREATE DATABASE maxwell;
set global validate_password_policy=0;
set global validate_password_length=4;
CREATE USER 'maxwell'@'%' IDENTIFIED BY 'maxwell';
GRANT ALL ON maxwell.* TO 'maxwell'@'%';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'maxwell'@'%';

4. 配置Maxwell

cd /opt/module/maxwell
cp config.properties.example config.properties
vim config.properties
#Maxwell数据发送目的地,可选配置有stdout|file|kafka|kinesis|pubsub|sqs|rabbitmq|redis
producer=kafka
#目标Kafka集群地址
kafka.bootstrap.servers=node1:9092,node2:9092,node3:9092
#目标Kafka topic,可静态配置,例如:maxwell,也可动态配置,例如:%{database}_%{table}
kafka_topic=maxwell#MySQL相关配置
host=node1
user=maxwell
password=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai

5. Maxwell启停(实时同步)

/opt/module/maxwell/bin/maxwell --config /opt/module/maxwell/config.properties --daemon
ps -ef | grep maxwell | grep -v grep | grep maxwell | awk '{print $2}' | xargs kill -9

6. 历史数据全量同步

        Maxwell提供了bootstrap功能来进行历史数据的全量同步,命令如下(需要先启动Maxwell才可以执行全量导入)

/opt/module/maxwell/bin/maxwell-bootstrap --database 库名称 --table 表名称 --config /opt/module/maxwell/config.properties

相关文章:

maxWell数据迁移

目录 1.开启mysql的binlog 1.1: Statement-based 1.2: Row-based 1.3: mixed 2. 重启mysql服务 3. 创建Maxwell所需数据库和用户 4. 配置Maxwell 5. Maxwell启停(实时同步) 6. 历史数据全量同步 这里使用maxWell对mysql数据迁移到kafka中 官网下载地址点击下载 注&#x…...

混合图像python旗舰版

仔细看这个图像。然后后退几米再看。你看到了什么?混合图像是指将一张图片的低频与另一张图片的高频相结合的图片。根据观看距离的不同,所得到的图像有两种解释。在上面的图片中,你可以看到阿尔伯特爱因斯坦,一旦你离开屏幕或缩小…...

开发手册——一、编程规约_5.集合处理

这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 只要重写 equals,就必须重写 hashCod…...

【elastic】elastic高可用集群部署

文章目录前言一、资源分享1、包含源码包、配置文件二、部署过程三、报错锦集四、es的部分相关命令前言 本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。 一、资源分享 1、包含源码包、配置文件 链接:https://pan.baidu.com…...

初识Liunx下的进程状态和环境变量以及进程优先级

文章目录前言1.进程状态1.阻塞与挂起2.Linux下的进程状态1.概念知识2.R状态2.休眠状态(S/D)3.T状态4.Z状态(僵尸进程)和X状态5.孤儿进程3.环境变量1.概念2.获取环境变量1.环境变量表2.函数获取环境变量3.关于环境变量的理解和main函数中的两个参数1.环境变量的理解2…...

JavaEE——何为线程及创建线程

文章目录一、认识线程1. 线程的概念2. 出现多线程的原因3. 进程与线程4. 对多线程的详细解释二、初次实现多线程代码1. 初步了解2. 使用 Java 中的工具查看当前的所有线程3. Java 中创建线程的多种方式一、认识线程 1. 线程的概念 所谓线程,就是指在一个 ‘执行流…...

linux配置核查MySQL 配置规范 (Linux)_S3A3G3

linux的配置核查问题: 解决: 1.检查是否禁止mysql对本地文件存取 方法一:在my.cnf的mysql字段下加local-infile0 方法二:启动mysql时加参数local-infile0 /etc/init.d/mysql start --local-infile0 假如需要获取本地文件&#xf…...

Protobuf简介

Protobuf简介 1. Protocol Buffers1.1. 什么是Protocol Buffers?1.2. 选择你最喜欢的语言1.3. 如何开始2. Protocol Buffer Basics: C++2.1. 问题领域2.2. 在哪里找到示例代码2.3. 定义协议格式(Defining Your Protocol Format)1. Protocol Buffers Protocol Buffers(协议缓冲…...

【Kubernetes】第十七篇 - ECS 服务停机和环境修复

一,前言 上一篇,介绍了 Secret 镜像的使用; 三台服务每天大概 15 块钱的支出,用一个月也是不少钱; 闲时可以停掉,这样每天只有 4 块钱支出,剩下一大笔; ECS 服务停机后公网 IP 会…...

Vue2的生命周期(详解)

Vue的生命周期一、生命周期的概念二、钩子函数三、Vue2的生命周期3.1 初始化阶段3.2 挂载阶段3.3 更新阶段3.4 销毁阶段一、生命周期的概念 Vue实例的生命周期: 从创建到销毁的整个过程 二、钩子函数 Vue框架内置函数,随着组件的生命周期阶段,自动执行 作用:特定的时间点,执行特…...

Potions (Hard Version) and (Easy Version)(背包DP + 反悔贪心)

[TOC](Potions (Hard Version) and (Easy Version)) 一、Potions(Easy Version) 1、问题 2、分析(背包DP 贪心) 简而言之就是我们需要从左到右开始选数字,选的过程中我们需要保证我们选的数字的和始终是大于等于0的,在满足这个…...

剑指 Offer II 017. 含有所有字符的最短字符串

题目链接 剑指 Offer II 017. 含有所有字符的最短字符串 hard 题目描述 给定两个字符串 s和 t。返回 s中包含 t的所有字符的最短子字符串。如果 s中不存在符合条件的子字符串,则返回空字符串 ""。 如果 s中存在多个符合条件的子字符串,返回任…...

Modbus协议初探(C#实现)

由于作者水平有限,如有写得不对得地方请指正 趁着今天休息,就折腾一下Modbus协议,之前零零散散的看过几篇博客,听说搞上位机开发的要会这个协议,虽然我不是搞上位机开发的,但个人对这个比较感兴趣。按照我个…...

【华为OD机试2023】静态扫描 C++ Java Python

【华为OD机试2023】静态扫描 C++ Java Python 前言 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优),不能保证通过率。 Tips1:机试为ACM 模式 你的代码需要处理输入输出,input/cin接收输入、…...

函数栈帧的创建和销毁(详解)

函数栈帧的创建和销毁🦖函数栈帧是什么?🦖函数栈帧的创建和销毁解析🐋栈是什么?🐋认识相关寄存器和汇编指令🐋解析函数栈帧的创建和销毁🐳预备知识🐳函数的调用堆栈&…...

【100个 Unity实用技能】 | 脚本无需挂载到游戏对象上也可执行的方法

Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案&#xff…...

条件期望5

条件期望例题 随机图 从节点1开始, N为一个随机变量, 表示整个过程第一次出现"贪吃蛇"情形时, 所进行的步数.即Nk⇒Xk(1)∈{1,X(1),X2(1),...Xk−1(1)}其中1,X(1),X2(1),...Xk−1(1)各不相同N k \Rightarrow X^k(1) \in \{1,X(1), X^2(1),...X^{k-1}(1)\} \\ 其中1…...

RecyclerView ViewType二级

实现效果描述: 1、点击recyclerview中item,列表下方出现其他样式的item,作为子item,如下所示 所需要的java文件和xml文件有: 1、创建FoldAdapteradapter, 在FoldAdapter中,定义两种不同的类型&#xff…...

将对象或数组存在 dom元素的属性上,最后取不到完整数据,只取到 [{

目录 一、问题 二、问题及解决方法 三、总结 一、问题 1.我需要在dom元素里面添加了一个属性test存一个对象数组temp,以便我下一次找到这个dom元素时可以直接拿到属性里面的数据来渲染页面。 2.dom 属性上存 对象和数组,必须先JSON.stringify(arr),转…...

Flask源码篇:Flask路由规则与请求匹配过程(超详细,易懂)

目录1 启动时路由相关操作(1)分析app.route()(2)分析add_url_rule()(3)分析Rule类(4)分析Map类(5)分析MapAdapter类(6)分析 url_rule_…...

2026年AI模型大战升级:Claude 4.6官网双版本发布,国内用户如何零门槛体验?

2026年2月,AI领域再起波澜。Anthropic在短短两周内连续推出Claude Opus 4.6与Sonnet 4.6双版本,以百万级上下文窗口与智能体协作能力,向OpenAI的GPT-5.4与谷歌的Gemini 3.1 Pro发起正面挑战。 对于国内AI爱好者、开发者与内容创作者而言&…...

Windows资源管理器HEIC缩略图:让iPhone照片在Windows上“活“起来

Windows资源管理器HEIC缩略图:让iPhone照片在Windows上"活"起来 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails …...

告别数据下载烦恼:5分钟用GEE(Google Earth Engine)在线获取任意区域DEM高程数据

告别数据下载烦恼:5分钟用GEE在线获取任意区域DEM高程数据 在科研和工程实践中,数字高程模型(DEM)是地形分析的基础数据。传统获取方式往往需要经历数据搜索、分幅下载、格式转换、多图拼接等一系列繁琐步骤,对于非GI…...

别再手动点灯了!用Simulink串口实时控制STM32,5分钟搞定双向通信

基于Simulink与STM32的实时双向通信实战指南 在嵌入式系统开发中,快速原型验证是提升效率的关键环节。传统开发模式下,工程师需要花费大量时间编写底层通信协议、调试硬件接口,而真正核心的控制算法验证反而被边缘化。本文将介绍一种高效开发…...

springboot+vue基于web的社区交互图书管理系统的设计系统

目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块划分关键技术实现数据库设计要点社区交互设计安全防护措施项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块划分 后…...

基于zlmediakit的RTSP流媒体服务器嵌入式开发指南

1. 为什么选择zlmediakit作为嵌入式RTSP服务器 第一次接触流媒体开发时,我试过用FFmpeg直接搭建服务,结果被复杂的协议栈和线程管理折腾得够呛。后来发现zlmediakit这个宝藏项目,它把RTSP/RTMP/HTTP-FLV等协议封装得特别友好,特别…...

微信小程序支付V3接口在ThinkPHP6中的封装实践:如何设计一个可复用的支付服务类?

微信小程序支付V3接口在ThinkPHP6中的高复用封装实践 微信支付作为小程序生态中最核心的商业化能力,其技术实现的质量直接影响着用户体验和系统稳定性。本文将分享如何在ThinkPHP6框架下,从零构建一个符合SOLID原则的支付服务类,实现一次封装…...

Unity 实现Slot Machine两种动态停止效果的实战解析

1. 老虎机效果设计核心思路 老虎机作为经典游戏机制,其动态停止效果直接影响玩家的游戏体验。在Unity中实现这类效果时,我们需要考虑两个关键因素:物理真实感和心理预期管理。缓慢减速效果通过逐渐降低转速营造紧张氛围,而惯性回弹…...

50| 选数

#include <bits/stdc.h> using namespace std;int n, k, ans, sum; // ans 最终答案 const int N 23; int a[N]; bool st[N];bool isprime(int x) {if (x < 1) return false;for (int i 2; i < sqrt(x); i)if (x % i 0) return false;return true; }void dfs(…...

从v4l2-ctl命令到media拓扑:手把手教你调试RK3568上的OV8858摄像头图像

RK3568平台OV8858摄像头深度调试实战&#xff1a;从硬件链路到图像优化的全流程解析 当你在RK3568平台上调试OV8858摄像头时&#xff0c;是否遇到过这样的场景&#xff1a;设备树配置看似正确&#xff0c;但摄像头输出的图像却出现花屏、颜色异常或干脆没有信号&#xff1f;作为…...