EMQX的安装、使用、Mysql权限认证

docker安装  https://blog.csdn.net/wintershang/article/details/100771053

1、防止服务器安装过docker,删除所有配置

停用docker
systemctl stop docker
查看当前版本
rpm -qa | grep docker
卸载软件包
yum erase docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce
删除相关配置文件
 
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker   #删除以前已有的镜像和容器,非必要
rm -rf /var/run/docker 

 2、安装所需要的功能包

软件包安装
 
yum install -y yum-utils  device-mapper-persistent-data lvm2
 
添加yum源
yum-config-manager \
--add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 
查看可安装的版本
yum list docker-ce --showduplicates | sort -r
 
安装最新版本也可以安装指定版本
yum install docker-ce -y
 
启动并开机自启
systemctl start docker
systemctl enable docker
 
查看docker版本
docker version

emqx官网 https://www.emqx.cn/

一、安装

emqx使用的版本为4.3.3.

`1、拉取emqx镜像包

docker pull emqx/emqx:4.3.3

2、运行一个emqx容器

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:4.3.3

3、查看是否安装成功

docker ps

二、修改EMQX配置

1、进入emqx容器

docker exec -it --user root 镜像名称 /bin/bash

2、设置匿名登录关闭

vi etc/emqx.conf



## Value: true | false

allow_anonymous = false

3、添加mysql认证

vi etc/plugins/emqx_auth_mysql.conf



## 服务器地址

auth.mysql.server = 58.213.162.165:23306

## 连接池大小

auth.mysql.pool = 8



auth.mysql.username = root



auth.mysql.password = leteb&ibsmp0228%)



auth.mysql.database = xuanjian



auth.mysql.query_timeout = 5s



auth.mysql.password_hash = sha256

4、重启emqx

docker restart emqx

三、开启mysql认证插件

1、登入emqx后台管理

用户名:admin

密码:public

2、打开mysql认证插件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值