Rabbitmq重启服务后登录用户丢失问题

Rabbitmq在命令行创建的用户,当Raqbbitmq服务重启后会丢失,需要重新创建,只要根据以下两个步骤更改对应的两个配置文件,就可以实现重启Rabbitmq服务后用户保留。

(1) 修改Rabbitmq的配置文件 /etc/rabbitmq/rabbitmq-env.conf ,增加以下这行内容:

1
NODENAME=rabbit@test-rabitmq

注:NODENAME=rabbit@为配置文件的字段格式,test-rabitmq为服务器的主机名,需要将test-rabitmq更改为你的服务器对应的主机名。

(2) 修改系统的配置文件/etc/hosts,增加以下这行内容:

1
127.0.0.1 test-rabitmq

注:127.0.0.1为服务器的IP地址,test-rabitmq为服务器的主机名,只需要根据自己的服务器修改成自己服务器对应的主机名hostname即可。

完成以上两个步骤后,在命令行增加Rabbitmq的用户,并设置用户的权限和角色,执行以下命令:

1
2
3
# rabbitmqctl add_user Username Password  # 新增用户
# rabbitmqctl set_user_tags User Tag # 设置用户角色
# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp # 设置用户权限

最后,重启Rabbitmq服务,在命令行界面查看当前用户列表 ,执行以下命令:

1
# rabbitmqctl list_users

返回结果显示,刚才在命令行中新建的用户 Username 还存在,则表示重启Rabbitmq服务后,用户保留成功。