前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实时MySQL数据源同步中间件-Maxwell

实时MySQL数据源同步中间件-Maxwell

原创
作者头像
ZHANGHAO
修改2019-03-07 14:21:46
3.2K0
修改2019-03-07 14:21:46
举报
文章被收录于专栏:张浩的专栏张浩的专栏

Maxwell 介绍

Maxwell是一个读取MySQL binlog并将行更新作为JSON写入Kafka,Kinesis或其他流平台的应用程序。

Maxwell快速开始

1.下载Maxwell(以下三种方式任选一种即可)

tar

代码语言:txt
复制
curl -sLo - https://github.com/zendesk/maxwell/releases/download/v1.20.0/maxwell-1.20.0.tar.gz \
       | tar zxvf -
cd maxwell-1.20.0

Docker

代码语言:txt
复制
docker pull zendesk/maxwell

macOS homebrew

代码语言:txt
复制
brew install maxwell

配置MySQL

修改my.cnf

代码语言:txt
复制
vim /etc/mysql/my.cnf
代码语言:txt
复制
[mysqld]
server_id=1
log-bin=master
binlog_format=row

创建相应的用户和数据库

代码语言:txt
复制
mysql> CREATE USER 'maxwell'@'%' IDENTIFIED BY 'maxwell';
mysql> CREATE DATABASE maxwell;
mysql> GRANT ALL ON maxwell.* TO 'maxwell'@'%';
mysql> GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'maxwell'@'%';
mysql> flush privileges;

配置完成之后,重启MySQL

运行Maxwell

命令行

代码语言:txt
复制
maxwell --user='maxwell' --password='maxwell' --host='127.0.0.1' --producer=stdout

创建测试数据库和表进行测试

代码语言:javascript
复制
create database test;
use test;
create table maxwell(id int,daemon varchar(100));
insert into `test`.`maxwell` set id = 1, daemon = 'Stanislaw Lem';
update test.maxwell set daemon = 'firebus!  firebus!' where id = 1;

控制台输出

代码语言:json
复制
{
	"database": "test",
	"table": "maxwell",
	"type": "insert",
	"ts": 1551862585,
	"xid": 381,
	"commit": true,
	"data": {
		"id": 1,
		"daemon": "Stanislaw Lem"
	}
}

{
	"database": "test",
	"table": "maxwell",
	"type": "update",
	"ts": 1551862800,
	"xid": 450,
	"commit": true,
	"data": {
		"id": 1,
		"daemon": "firebus!  firebus!"
	},
	"old": {
		"daemon": "Stanislaw Lem"
	}
}

Kafka

启动Zookeeper

代码语言:javascript
复制
zkServer.sh start

启动kafka server

代码语言:javascript
复制
kafka-server-start.sh /opt/kafka/config/server-1.properties 

启动Maxwell

代码语言:javascript
复制
maxwell --user='maxwell' --password='maxwell' --host='127.0.0.1' --producer=kafka --kafka.bootstrap.servers=localhost:9092 --kafka_topic=maxwell  

启动kafka-console-consumer消费消息

代码语言:javascript
复制
kafka-console-consumer.sh  --bootstrap-server localhost:9092 --topic maxwell

创建测试数据进行测试

代码语言:javascript
复制
insert into `test`.`maxwell` set id = 1, daemon = 'Stanislaw Lem';
update test.maxwell set daemon = 'firebus!  firebus!!' where id = 1;

附录

参考文献:

Maxwell官网quickstart:http://maxwells-daemon.io/quickstart/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Maxwell 介绍
  • Maxwell快速开始
    • 1.下载Maxwell(以下三种方式任选一种即可)
      • 配置MySQL
        • 修改my.cnf
        • 创建相应的用户和数据库
      • 运行Maxwell
        • 命令行
        • Kafka
    • 附录
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档