EMQ搭建及MYSQL认证

EMQ搭建及MYSQL认证

这里只是简单的介绍如何搭建EMQ及其配置简单的运行和问题解决。

下载

点击链接进入选着自己需要的版本。说明一下一般选着下载EMQ X Broker。如果个人测试不建议选EMQ X Enterprise(企业级收费)。
https://www.emqx.io/cn/downloads

EMQ安装

Erlang 由于emqttd是用Erlang语言编写的,所以,在Linux下安装时,需要先安装Erlang
安装Erlang命令

sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
unzip emqx-ee-centos7-4.1.0-x86_64.zip
如果没有unzip下载命令下载
yum install unzip 然后再解压
cd emqx-ee-centos7-4.1.0-x86_64
进入cd bin
在这里插入图片描述
开启服务
./emqx start 在这里插入图片描述

这里如果没有反应很大的可能是EMQ的版本不对。开启服务之后过一段时间没有反应考虑重新下载合适版本。

MYSQL认证

首先关闭匿名认证

cd etc
vim emqx.conf
在这里插入图片描述
修改allow_anonymous=false这样不能匿名登录了
在这里插入图片描述
如果你没有找到在vim里面输入/allow_anonymous可以帮你快速查询到。

第一种方式只有高版本不适用3.0版本可以
配置完成后进入web页面127.0.0.1:18083。自己的ip。
然后mysql的认证在web界面插件后面配置填入自己的信息
在这里插入图片描述
配置完成之后点击启动
在这里插入图片描述
这样EMQ的mysql认证就做好了。加密方式等等自己都可以改。

第二种方式
在emqx_auth_mysql文件中配置
按照自己mysql的信息填写
auth.mysql.server = 127.0.0.1:3306
auth.mysql.pool = 8
auth.mysql.username = emqx
auth.mysql.password = public
auth.mysql.database = mqtt
auth.mysql.query_timeout = 5s
下面是查询语句用来验证password,EMQ就是根据下面来判断是否登录正确
auth.mysql.auth_query = SELECT phone AS PASSWORD FROM mqtt_user WHERE Email = ‘%u’ LIMIT 1
也可以进入web控制台去开启,开启成功就算完成。失败就是信息没有填正确。

EMQ X 支持使用 MySQL 进行认证,具体配置步骤如下: 1. 安装 MySQL 和 Python 的 MySQL 驱动程序 2. 创建 EMQ X 所需的数据库和数据表,可以使用以下 SQL 语句: ```sql CREATE DATABASE emqx_auth; USE emqx_auth; CREATE TABLE mqtt_user ( id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(100) NOT NULL, password VARCHAR(100) NOT NULL, is_superuser BOOL NOT NULL DEFAULT FALSE, PRIMARY KEY (id), UNIQUE KEY mqtt_user_username_uindex (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE mqtt_acl ( id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, allow INT(1) NOT NULL DEFAULT 1, ipaddr VARCHAR(60) NOT NULL DEFAULT '', username VARCHAR(100) NOT NULL, clientid VARCHAR(100) NOT NULL, access INTEGER(2) NOT NULL, topic VARCHAR(256) NOT NULL, PRIMARY KEY (id), KEY mqtt_acl_username_clientid_topic_uindex (username,clientid,topic) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` 3. 配置 EMQ X,编辑 emqx.conf 文件,将 auth.acl.auth_mysql 和 auth.user.auth_mysql 配置为 true,同时配置数据库连接信息,例如: ```conf auth.user.auth_mysql = on auth.user.mysql.server = 127.0.0.1:3306 auth.user.mysql.username = root auth.user.mysql.password = root auth.user.mysql.database = emqx_auth auth.user.mysql.pool = 8 auth.acl.auth_mysql = on auth.acl.mysql.server = 127.0.0.1:3306 auth.acl.mysql.username = root auth.acl.mysql.password = root auth.acl.mysql.database = emqx_auth auth.acl.mysql.pool = 8 ``` 4. 重启 EMQ X,使配置生效。 注意:以上配置仅供参考,实际配置应根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值