Maxwell 是什么?
Maxwell 是一个用于 MySQL 数据库的开源 binlog 抓取工具,它可以将 MySQL 的 binlog 解析成可读的 JSON 格式,并将其发送到消息队列中,如 RabbitMQ。通过使用 Maxwell,可以方便地将 MySQL 数据库中的数据变更同步到其他系统中,实现数据的实时同步和处理。
1.拉取 Maxwell 镜像
要使用 Docker 安装 Maxwell,首先需要拉取 Maxwell 的 Docker 镜像。可以使用以下命令拉取 Maxwell 的最新版本镜像:
docker pull zendesk/maxwell
2.运行 Maxwell 容器
接下来,可以使用以下命令运行 Maxwell 容器,并配置连接的 MySQL 数据库信息和 RabbitMQ 信息:
docker run \
--name maxwell \
--restart=always \
-d zendesk/maxwell bin/maxwell \
--user='数据库用户名' \
--password='数据库密码' \
--host='IP 地址' \
--producer=rabbitmq \
--rabbitmq_user='MQ 用户名' \
--rabbitmq_pass='MQ 密码' \
--rabbitmq_host='IP 地址' \
--rabbitmq_port='5672' \
--rabbitmq_exchange='maxwell_exchange' \
--rabbitmq_exchange_type='fanout' \
--rabbitmq_exchange_durable='true' \
--filter='exclude: *.*, include: aurora.t_article.article_title = *, include: aurora.t_article.article_content = *, include: aurora.t_article.is_delete = *, include: aurora.t_article.status = *' //运行 Maxwell
这里需要将命令中的数据库用户名、密码、IP 地址、MQ 用户名、MQ 密码、MQ 主机地址等信息替换为实际的数据库和消息队列信息。另外,还可以根据需要配置过滤器,指定需要同步的表和字段。
通过以上步骤,就可以使用 Docker 安装并运行 Maxwell,实现 MySQL 数据库的实时数据同步到 RabbitMQ 中。

