centos中EMQX4.3.3安装配置总结

emqx两种下载方式:

下载的方式1:

https://www.emqx.cn/downloads#broker

img

tip:根据自己系统配置来下载,此处我下载的是rpm的包

下载方式2:

我这里是直接用命令安装的,然后 下面有安装的的命令,直接复制进系统,依次执行

1. 下载
wget https://www.emqx.cn/downloads/broker/v4.3.3/emqx-centos7-4.3.3-amd64.rpm
2. 安装
sudo yum install emqx-centos7-4.3.3-amd64.rpm
3. 运行
sudo emqx start

一般的话emqx是用两个端口的(18083、1883)所以优先在防火墙配置一下。

防火墙添加端口 firewall-cmd --zone=public --add-port=此处你需要添加的端口/tcp --permanent
重新加载防火墙 firewall-cmd --reload

然后用另一台windows电脑访问:emqx服务器ip:18083(emqx的web界面默认账号:admin 密码:public)

可以正常进入emqx界面就算安装完成了

img

安装启动完成后,进行配置。

二、配置

刚开始是从网上找资料的,但是发现针对4.3.3版本的是少之又少(也有可能是我太笨没找到)。

1、

首先,需要将emqx的默认密码修改掉(前面版本的emqx都会有一个emqx_auth_username.conf配置文件来控制账号密码)

但是4.3.3是没有的,直接用命令修改密码:
2、

emqx_ctl admins passwd admin 这里填你要设置的密码

3、

mysql安装地址:https://www.cnblogs.com/javabg/p/9970723.html

*安装完成后会报错:1130-host’192.168.2.137’is not allowed to connect to this mysql server*

解决方式:https://www.cnblogs.com/CMX_Shmily/p/11656541.html

添加数据库

建议用我设置的默认库名以及表名可能是emqx系统默认的

先进入数据库:mysql -u root -p

输入密码

然后创建库:create database mqtt;

将下面脚本拷贝复制到一个txt文件(将后缀txt改成sql,密码分别都是和帐号一样 server的密码就是server 后面连接要用到server帐号)利用navicat运行sql文件

/*
Navicat Premium Data Transfer

Source Server : 192.168.1.15_3306
Source Server Type : MySQL
Source Server Version : 50734
Source Host : 192.168.1.15:3306
Source Schema : mqtt

Target Server Type : MySQL
Target Server Version : 50734
File Encoding : 65001

Date: 16/06/2021 17:35:23
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;


– Table structure for mqtt_user


DROP TABLE IF EXISTS mqtt_user;
CREATE TABLE mqtt_user (
id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ‘ID’,
username varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘用户名称’,
password varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘密码’,
salt varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘盐’,
is_superuser tinyint(1) NULL DEFAULT 0 COMMENT ‘是否超级管理员’,
created timestamp NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT ‘创建时间’,
flag int(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘是否使用 0否1是’,
remarks varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (id) USING BTREE,
UNIQUE INDEX mqtt_username(username) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 305 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;


– Records of mqtt_user


INSERT INTO mqtt_user VALUES (1, ‘test’, ‘8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92’, NULL, 0, ‘2021-03-20 09:53:46’, 1, ‘开发测试账号’);
INSERT INTO mqtt_user VALUES (2, ‘server’, ‘b3eacd33433b31b5252351032c9b3e7a2e7aa7738d5decdf0dd6c62680853c06’, NULL, 0, ‘2021-03-20 10:20:14’, 1, ‘服务端账号’);
INSERT INTO mqtt_user VALUES (3, ‘skyd’, ‘40b2181ef28d40ceda6ade7374022a0d401c965c36faa132d73033d31860f27b’, NULL, 0, ‘2021-03-29 14:46:43’, 1, ‘设备账号’);

SET FOREIGN_KEY_CHECKS = 1;

3、

修改配置文件:*emqx.conf 的 allow_anonymous项为false(这一项是配置的是否需要密码连接)*

img

4、

修改/etc/emqx/plugins下的 emqx_auth_mysql.conf 文件

*(1)auth.mysql.server = 127.0.0.1:3306(此处修改为你的mysql地址,端口,如果是本地则不用修改)*

**(2)#auth.mysql.username =(把前面的注释#去掉、等于号后面写mysql的帐号)****

****(3)#auth.mysql.password =(******把前面的注释#去掉、等于号后面写mysql的密码******)
*****
*

******(4)auth.mysql.database =(如果有注释去掉注释、**************等于号后面写mysql的数据库 我配置的数据库名称 mqtt 默认的一般用这个没细查**************)********

********(5)表名默认mqtt_user (如果非要修改在这个配置文件也要做相应的修改)**********

img

修改完后执行以下命令重新加载插件:

emqx_ctl plugins reload emqx_auth_mysql

重启emqx:emqx stop

emqx start

三、连接

下载连接程序及使用教程:mqtt.fx

https://blog.csdn.net/tiantang_1986/article/details/85101366

eload emqx_auth_mysql

重启emqx:emqx stop

emqx start

三、连接

下载连接程序及使用教程:mqtt.fx

https://blog.csdn.net/tiantang_1986/article/details/85101366

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bo云见日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值