emq 数据库 emq连接mysql

导读:EMQ是一种高性能、分布式的MQTT消息服务器,可以用于物联网、云计算和大数据等领域 。本文将介绍如何使用EMQ连接MySQL数据库,实现数据的存储和查询 。
1. 安装MySQL数据库
首先需要安装MySQL数据库,并创建一个数据库和表格来存储数据 。可以使用以下命令创建一个名为“test”的数据库和一个名为“data”的表格:
CREATE DATABASE test;
USE test;
CREATE TABLE data (id INT NOT NULL AUTO_INCREMENT, topic VARCHAR(255), payload TEXT, PRIMARY KEY (id));
2. 配置EMQ
在EMQ的配置文件中添加以下内容,以连接到MySQL数据库:
## mysql
##
## ## MySQL server host
## ##
## ## default: 127.0.0.1
## mysql.server = 127.0.0.1
## ## MySQL server port
## ## default: 3306
## mysql.port = 3306
## ## MySQL database name
## ## default: emq
## mysql.database = emq
## ## MySQL user name
## ## default: root
## mysql.username = root
## ## MySQL password
## ## default: ""
## mysql.password = ""
3. 编写插件
编写一个EMQ插件,将接收到的消息存储到MySQL数据库中 。以下是一个示例插件的代码:
-module(emq_mysql).
-behaviour(emqx_plugin).
-export([start/2, stop/1]).
-export([on_publish/3]).
start(_Type, _Args) ->
emqx:hook_publish(emq_mysql),
ok.
【emq 数据库 emq连接mysql】stop(_State) ->
emqx:unhook_publish(emq_mysql),
on_publish(ClientId, Topic, Payload) ->
mysql:query("INSERT INTO data (topic, payload) VALUES (?, ?)", [Topic, Payload]),
4. 启动EMQ
在启动EMQ之前 , 需要将插件编译成BEAM文件,并将其复制到EMQ的插件目录中 。然后可以使用以下命令启动EMQ:
./bin/emqx start
5. 查询数据
现在已经可以将接收到的消息存储到MySQL数据库中了 。可以使用以下命令查询数据:
SELECT * FROM data;
总结:本文介绍了如何使用EMQ连接MySQL数据库,实现数据的存储和查询 。通过配置EMQ和编写插件 , 可以轻松地将接收到的消息存储到MySQL数据库中,以便后续的分析和处理 。

    推荐阅读