有没有办法将 Mosquitto 有效负载存储到 MySQL 数据库中以供历史记录使用?

Is there a way to store Mosquitto payload into an MySQL database for history purpose?

我正在使用 Mosquitto MQTT 代理,我想将每条发布的消息存储到 MySQL 数据库中,而无需创建客户端和订阅#wildcard。

我找到了这个 https://github.com/jpmens/mosquitto-auth-plug 但我的英语不够好,无法彻底理解它...我认为它只是为了存储持久消息,以便代理稍后重新发送它们。我说得对吗?

谢谢

mosquitto-auth-plugin 使用数据库存储 username/password 和 ACL 信息,而不是消息内容。

编写一些代码将来自任何 MQTT 代理的消息存储在数据库中相对简单。

有几种方法:

  1. 您可以编写一个小型 java/python/nodejs 应用程序,使用一种 MQTT libraries 为给定的语言完成此操作。
  2. 您可以使用 Node-RED 之类的东西来创建将消息写入数据库的流。
  3. 您可以使用 HiveMQ 代理而不是 Mosquitto,后者具有支持将消息存储在 database 中的插件机制。