MySQL Binlog 解析工具之Maxwell 快速使用

举报
知识传送者 发表于 2021/01/04 09:22:39 2021/01/04
【摘要】 1. 涉及的组件 mysql、kafka、maxwell、2. mysql的安装与使用2.1 卸载清理已有mysql https://blog.csdn.net/tjcyjd/article/details/521891822.2  linux 安装mysql 博客: https://www.jianshu.com/p/276d59cbc529 bilibi视频介绍:https://www....

1. 涉及的组件

 mysql、kafka、maxwell、

2. mysql的安装与使用

2.1 卸载清理已有mysql

 https://blog.csdn.net/tjcyjd/article/details/52189182

2.2  linux 安装mysql

 博客: https://www.jianshu.com/p/276d59cbc529
 bilibi视频介绍:https://www.bilibili.com/video/BV1mJ411z7GZ?from=search&seid=8604979754825723565


3. 安装kafka

wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz
tar -xzf kafka_2.11-2.1.0.tgz
cd kafka_2.11-2.1.0

# 启动Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

单机启动 kafka 之前,需要修改一下配置文件,打开配置文件 vi config/server.properties,在文件最后加入 advertised.host.name 的配置,值为 kafka 所在机器的IP
advertised.host.name=10.100.97.24

# 启动kafka
bin/kafka-server-start.sh config/server.properties

测试 kafka

# 创建一个 topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

# 列出所有 topic
bin/kafka-topics.sh --list --zookeeper localhost:2181

# 启动一个生产者,然后随意发送一些消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message

# 在另一个终端启动一下消费者,观察所消费的消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message

4. maxwell 安装与使用

https://laijianfeng.org/2019/03/MySQL-Binlog-%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7-Maxwell-%E8%AF%A6%E8%A7%A3/

Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://maxwells-daemon.io)、GitHub(https://github.com/zendesk/maxwell)
Maxwell主要提供了下列功能:

支持  SELECT * FROM table 的方式进行全量数据初始化
支持在主库发生failover后,自动恢复binlog位置(GTID)
可以对数据进行分区,解决数据倾斜问题,发送到kafka的数据支持database、table、column等级别的数据分区
工作方式是伪装为Slave,接收binlog events,然后根据schemas信息拼装,可以接受ddl、xid、row等各种event

1. 配置mysql
在mysql 的配置文件添加如下的配置, 否则maxwell会出错。
[mysqld]
server_id=1
log-bin=master
binlog_format=row
2. 创建Maxwell用户,并赋予其权限
CREATE USER 'maxwell'@'%' IDENTIFIED BY '123456';
GRANT ALL ON maxwell.* TO 'maxwell'@'%';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE on *.* to 'maxwell'@'%'; 

3. 下载【https://github.com/zendesk/maxwell】maxwell maxwell-1.29.1.tar.gz,并配置

 新增配置文件:即的添加jdbc_options

./maxwell --user='maxwell' --password='123456' --host='127.0.0.1' --producer=stdout

4. 快速使用

本文引用:
1. https://blog.csdn.net/tjcyjd/article/details/52189182
2.  https://www.jianshu.com/p/276d59cbc529
3. https://laijianfeng.org/2019/03/MySQL-Binlog-%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7-Maxwell-%E8%AF%A6%E8%A7%A3/  本文作者:小旋锋

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。