当前位置: 首页 > 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

http://www.lryc.cn/news/28332.html

相关文章:

  • 混合图像python旗舰版
  • 开发手册——一、编程规约_5.集合处理
  • 【elastic】elastic高可用集群部署
  • 初识Liunx下的进程状态和环境变量以及进程优先级
  • JavaEE——何为线程及创建线程
  • linux配置核查MySQL 配置规范 (Linux)_S3A3G3
  • Protobuf简介
  • 【Kubernetes】第十七篇 - ECS 服务停机和环境修复
  • Vue2的生命周期(详解)
  • Potions (Hard Version) and (Easy Version)(背包DP + 反悔贪心)
  • 剑指 Offer II 017. 含有所有字符的最短字符串
  • Modbus协议初探(C#实现)
  • 【华为OD机试2023】静态扫描 C++ Java Python
  • 函数栈帧的创建和销毁(详解)
  • 【100个 Unity实用技能】 | 脚本无需挂载到游戏对象上也可执行的方法
  • 条件期望5
  • RecyclerView ViewType二级
  • 将对象或数组存在 dom元素的属性上,最后取不到完整数据,只取到 [{
  • Flask源码篇:Flask路由规则与请求匹配过程(超详细,易懂)
  • Jmeter接口测试教程之【参数化技巧总结】,总有一个是你不知道的
  • 缓存与数据库的双写一致性
  • 力扣-213打家劫舍II(dp)
  • 关于【网格结构】岛屿类问题的通用解法DFS(深度遍历)遍历框架+回溯+剪枝总结
  • 【LeetCode】982. 按位与为零的三元组
  • Linux内核源码进程原理分析
  • 电子技术——CMOS反相器
  • gazebo仿真轨迹规划+跟踪(不在move_base框架下)
  • C. Good Subarrays(前缀和)
  • 关于Facebook Messenger CRM,这里有你想要知道的一切
  • ChIP-seq 分析:数据与Peak 基因注释(10)