Docker EMQX 环境搭建
mkdir -p /web/EMQX/confemqx_auth_mysql.conf内容如下emqx连接mysql配置,根据自己实际情况修改mysql相关配置##--------------------------------------------------------------------## MySQL Auth/ACL Plugin##----------...
mkdir -p /web/EMQX/conf
emqx_auth_mysql.conf内容如下
emqx连接mysql配置,根据自己实际情况修改mysql相关配置
##--------------------------------------------------------------------
## MySQL Auth/ACL Plugin
##--------------------------------------------------------------------## MySQL server address.
##
## Value: Port | IP:Port
##
## Examples: 3306, 127.0.0.1:3306, localhost:3306
auth.mysql.server = 192.168.2.117:3306## MySQL pool size.
##
## Value: Number
auth.mysql.pool = 8## MySQL username.
##
## Value: String
auth.mysql.username = root## MySQL password.
##
## Value: String
auth.mysql.password = 123456Aa,## MySQL database.
##
## Value: String
auth.mysql.database = mqtt## MySQL query timeout
##
## Value: Duration
## auth.mysql.query_timeout = 5s## Variables: %u = username, %c = clientid
## Authentication query.
##
## Note that column names should be 'password' and 'salt' (if used).
## In case column names differ in your DB - please use aliases,
## e.g. "my_column_name as password".
##
## Value: SQL
##
## Variables:
## - %u: username
## - %c: clientid
## - %C: common name of client TLS cert
## - %d: subject of client TLS cert
##
auth.mysql.auth_query = select password from mqtt_user where username = '%u' limit 1
## auth.mysql.auth_query = select password_hash as password from mqtt_user where username = '%u' limit 1## Password hash.
##
## Value: plain | md5 | sha | sha256 | bcrypt
auth.mysql.password_hash = md5## sha256 with salt prefix
## auth.mysql.password_hash = salt,sha256## bcrypt with salt only prefix
## auth.mysql.password_hash = salt,bcrypt## sha256 with salt suffix
## auth.mysql.password_hash = sha256,salt## pbkdf2 with macfun iterations dklen
## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512
## auth.mysql.password_hash = pbkdf2,sha256,1000,20## Superuser query.
##
## Value: SQL
##
## Variables:
## - %u: username
## - %c: clientid
## - %C: common name of client TLS cert
## - %d: subject of client TLS cert
##
auth.mysql.super_query = select is_superuser from mqtt_user where username = '%u' limit 1## ACL query.
##
## Value: SQL
##
## Variables:
## - %a: ipaddr
## - %u: username
## - %c: clientid
##
## Note: You can add the 'ORDER BY' statement to control the rules match order
auth.mysql.acl_query = select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c'
启动emqx
docker run -d --name emqx --privileged=true --restart=always -p 18083:18083 -p 1883:1883 -p 8085:8085 -p 8083:8083 -p 8084:8084 -p 8883:8883 -v /web/EMQX/connf/emqx_auth_mysql.conf:/opt/emqx/etc/plugins/emqx_auth_mysql.conf emqx/emqx:v3.2.3
# 创建数据库
本文配置是mqtt数据库
# 开启插件 http://192.168.2.117:18083/#/
mqtt请求端口就是服务器IP:8083
更多推荐
所有评论(0)