mysql - 如何使用 nifi CaptureChangeMySQL?
问题描述
介绍
我有一个接收定期更新的 mysql 数据库。我想定期检查这个 mysql 数据库以了解 Nifi 的变化。
为此,CaptureChangeMySQL 处理器似乎很完美。
但是,我无法使其工作。
我按照本教程进行操作,但是在从数据库中插入/删除行时,处理器没有捕获任何内容。
设置
- 一个本地 MySQL,可在 localhost:3306 访问
- 同一台机器上的一个 nifi。
MySQL 配置
它有一个以表命名的数据库test
,device
其中包含超过 20k 行。
我的my.cnf
文件/etc/mysql/
如下:
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
server_id = 1
log_bin = delta
binlog_format=row
binlog_do_db = source
Nifi CaptureChangeMySQL 配置
Nifi CDC MapCache 配置(分布式地图缓存客户端服务)
Nifi分布式地图缓存服务器配置
使用这种配置,我的 CaptureChange 处理器什么都不做(至少什么都不可见)。我做错了什么阻止我使用它?
解决方案
在您的my.cnf
文件中,您已设置binlog_do_db = source
.
binlog-do-db
使 master 只将指定 DB 的 statements 写入其二进制 log。在您的情况下,它应该设置为测试。
推荐阅读
- python - 尝试连接到 dask 仪表板时出现“404 Not found”
- c++ - 带有“无限”参数的 c++ 模板
- electron - 在 Cypress 中设置 Electron 的语言
- javascript - 如何在各个页面中具有相同 ID 的多个页面上使用 JavaScript 隐藏/显示链接(元素)?
- php - PHP:file_get_contents():SSL 操作失败,代码为 1
- java - 未使用改造从 IGDB Api 接收所有数据
- sql - SSRS - 具有不同价值的多个数据
- javascript - 停止提交按钮不发布并返回同一页面
- solr - 如何确定 solr 停止运行的原因?
- javascript - iframe 的 HTML/Javascript 错误,应该很容易