(T_T),不小心删掉RabbitMQ配置文件数据库及如何恢复
一、不小心删除
今天是2025年5月15日,非常沉重的一天,就在今早8点左右的时候我打算继续做我的毕业设计,由于开机的过程十分缓慢(之前没有),加上刚开机电脑有卡死的迹象,再加上昨天晚上关电脑前提醒我电脑内存不足,我打开我的电脑一看,C、D、E盘全爆红,我一想我好久没请电脑内存了,我打算重启后,给我的电脑来一次大扫除---------于是就有了这篇文章。
我先用了之前用的又跟着B站一个清理C盘的视频给我的电脑清了清,删了些东西,为我的电脑清理出一些小空间,这是清理后---
二、问题
清完内存的我还沉浸在电脑右变流畅的后的喜悦里,丝毫没意识到问题的严重性,就在我运行项目后发现我IDEA报错了!!!!!!
出现问题如下:
2025-05-15T17:20:25.015+08:00 ERROR 29120 --- [Container#0-400] o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s).
2025-05-15T17:20:25.015+08:00 INFO 29120 --- [Container#0-400] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [127.0.0.1:5672]
2025-05-15T17:20:25.023+08:00 WARN 29120 --- [ 127.0.0.1:5672] c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occurred (Exception message: Connection reset)
总而言之我的程序链接不上RabbitMQ消息队列了,我就打算按照Rabbit当时的笔记再给配置一下吧
笔记上:
进入rabbitmq安装目录的sbin
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.5\sbin>rabbitmq-plugins enable rabbitmq_management
验证rabbitmq是否安装成功
rabbitmqctl status
但实际上
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.5\sbin> rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@DESKTOP-SIH1AS9:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
rabbitmq_delayed_message_exchange
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@DESKTOP-SIH1AS9...
Plugin configuration unchanged.
Error:{:aborted, {:no_exists, :rabbit_vhost}}
三,可能及解决
1.Erlang 环境损坏或配置丢失
RabbitMQ 是基于 Erlang 运行的,清缓存时可能误删了 Erlang 路径或配置,导致启动失败或行为异常
检查 Erlang 是否还在:
-
路径一般是
C:\Program Files\erl-<版本号>
,比如:C:\Program Files\erl-23.3
-
如果没有,重新安装 Erlang
-
然后重启电脑
2. RabbitMQ 服务本身的配置文件或数据库被清除
RabbitMQ 默认保存的用户数据位置:
-
%APPDATA%\RabbitMQ
-
%USERPROFILE%\.erlang.cookie
-
%ProgramData%\RabbitMQ
如果 .erlang.cookie
文件被删除或权限变化,RabbitMQ 就无法启动或连接会失败。
解决方法:
检查 .erlang.cookie
文件是否存在和权限正确,确认这几个目录是否还存在。这是 RabbitMQ 启动和节点通信所必需的“密钥”,缺失或权限不对就无法连接,经常被清理工具误删或改权限。
路径:
C:\Users\<你的用户名>\.erlang.cookie
检查方法:
查看是否有一个名为 .erlang.cookie
的文件,是一个无扩展名的文本文件
右键 → 属性 → 安全 → 查看是否你这个用户有“完全控制”权限
使用管理员 PowerShell修改 .erlang.cookie
权限:
1. 打开「管理员 PowerShell」
-
按
Win
键,输入powershell
-
在搜索结果中 右键点击「Windows PowerShell」 → 选择 “以管理员身份运行”
-
执行权限修改命令:
依次输入命令:
cd $env:USERPROFILE
icacls .erlang.cookie /grant "${env:USERNAME}:(F)"
-
如果成功,你会看到类似输出:
C:\Users\你的用户名\.erlang.cookie: 已成功处理 1 个文件;失败 0 个
现在.erlang.cookie
权限已修复,现在你可以重新尝试启动 RabbitMQ 服务了:
重启 RabbitMQ 服务:
打开命令提示符(管理员)或 PowerShell,执行:
net stop RabbitMQ
net start RabbitMQ
浏览器访问: http://localhost:15672
默认账号密码(未修改过)是:
用户名:admin 密码:admin