centos中EMQX4.3.3安裝配置總結


 

我這里是直接用命令安裝的,然后 下面有安裝的的命令,直接復制進系統,依次執行

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界面就算安裝完成了

 

 

安裝啟動完成后,進行配置。

二、配置

 剛開始是從網上找資料的,但是發現針對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(這一項是配置的是否需要密碼連接)

 

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  (如果非要修改在這個配置文件也要做相應的修改)

 

 

修改完后執行以下命令重新加載插件:

emqx_ctl plugins reload emqx_auth_mysql

重啟emqx:emqx stop

      emqx start

三、連接

下載連接程序及使用教程:mqtt.fx

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

 

下載的方式:

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

 

 tip:根據自己系統配置來下載,此處我下載的是rpm的包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM