EMQX内置数据库中的用户名密码如何持久化

  • EMQX 版本:v5.0.7
    背景是我们选用内置数据库的认证方式,然后想实现内置数据库用户名密码的持久化,EMQX集群采用K8s部署,想保证升级或重新调度节点之后仍然能使用之前的用户名密码认证;
    之前EMQX在4.x版本可以直接在配置文件中指定认证插件中的用户名和密码,5.x中配置看到的是只能在配置中去指定认证方式为内置数据库,不能直接指定用户名和密码,想知道这个内置数据库是具体保存在什么目录的呀?我们能通过持久化内置数据库去实现集群重新调度之后保持之前的用户名密码吗

你好,这些认证数据是存储在内置的 Mnesia 数据库中的,默认都是落盘的,你把 data 目录持久化出来就可以了。

同问,本地数据能看到mnesia里有
root@arm:/var/lib/rancher/k3s/storage/pvc-3c0bff0b-2906-4d2e-9f47-35c5045d1ad1_default_mqtt/mnesia# ls
emqx@10.42.0.203 emqx@10.42.0.204
但是在web控制台却看不到用户

【Docker 快速安装和运行 EMQX MQTT 服务器 (含常见问题解决)-哔哩哔哩】 Docker 快速安装和运行 EMQX MQTT 服务器 (含常见问题解决)_哔哩哔哩_bilibili
看看这个,设置一下hostname


这样设置的hostname,重启还是不行
以解决,是EMQX_HOST,可以了,感谢官方。