在阅读该教程之前,假定你已经了解 MQTT、MQTT 5 以及 EMQ X 的简单知识。
emqx-auth-mysql 它通过检查每个终端接入的 username 和 password 是否与用户指定 的 MySQL 数据库中存储的信息一致来实现对终端的访问控制。其功能逻辑如下:
本文假设 MySQL 已经安装在您的机器上,并且您可以连接到 MySQL 服务器。注:EMQ X 开源版至 v3.1-beta.2 为止,尚不支持 MySQL 8.0,因此以下内容仅适用于 MySQL 5.7 及以下版本。
$ mysql --version
mysql Ver 14.14 Distrib 5.7.25, for macos10.14 (x86_64) using EditLine wrapper
插件配置项说明
mqtt.sql
emqx-auth-mysql 提供了 mqtt.sql 文件帮助用户快速创建数据表以及导入默认数据。mqtt.sql 将会为 mqtt_acl 数据表导入以下默认规则:
mysql> select * from mqtt_acl;
+----+-------+-----------+-----------+----------+--------+--------+
| id | allow | ipaddr | username | clientid | access | topic |
+---