一、rabbitmq数据是根据当前hostname作为node节点作为数据名保存
二、添加rabbimq用户
sudo rabbitmqctl add_user tlwlmy tlwlmy
sudo rabbitmqctl list_users
三、修改系统hostname
# 将test改成data
sudo vim /etc/hostname
# 添加data指向本地host
echo '127.0.0.1 info' | sudo tee -a /etc/hosts
# hostname生效
sudo hostname -F /etc/hostname
四、重启rabbitmq
因为修改hostname,rabbimq重启失败
需要重启kill掉rabbimq进程,重新启动
ps axu | grep rabbitmq | awk '{print $2}' | sudo xargs kill -9
sudo service rabbitmq-server restart
五、重新启动后,发现之前建立的用户丢失,查看rabbitmq数据存储,发现文件名增加两个rabbit@data和rabbit@data-plugins-expand,新的数据会采用这两文件夹,由于丢失旧数据也就丢失原来添加的用户
六、添加rabbitmq固定节点名字,保证数据文件不变,添加新用户
echo 'NODENAME=rabbit@info' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf
echo '127.0.0.1 info' | sudo tee -a /etc/hosts
ps axu | grep rabbitmq | awk '{print $2}' | sudo xargs kill -9
sudo service rabbitmq-server start
七、修改hostname测试rabbitmq存储节点是否有新增,测试过程发现文件不会新增,保持不变,用户信息也没丢失
八、总结,其实重启服务器服务器导致丢失用户是由于修改系统hostname未重启rabbitmq导致的,只有设置节点名字,就不需要怕修改hostname,通常情况下也不会修改过hostname