MySQL 认证 / 访问控制即插件emqx_auth_mysql
在emqx运行中加载插件(其他插件修改插件名称即可)
./bin/emqx_ctl plugins load emqx_auth_mysql
需要关闭emqx的匿名访问设置:
# etc/emqx.conf
## Value: true | false
allow_anonymous = true
警告
生产环境中请禁用匿名认证。
需要在 etc/plugins/emqx_auth_mysql.conf
中配置以下内容:
## 服务器地址
auth.mysql.server = 127.0.0.1:3306
## 连接池大小
auth.mysql.pool = 8
##数据库连接用户名
auth.mysql.username = emqx
##数据库连接密码
auth.mysql.password = public
##数据连接的库名,database
auth.mysql.database = mqtt
auth.mysql.query_timeout = 5s
默认表结构
MySQL 认证默认配置下需要确保数据库中有下表:
CREATE TABLE `mqtt_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`password` varchar(100) DEFAULT NULL,
`salt` varchar(35) DEFAULT NULL,
`is_supe