安装MongoDB后启动mongo.exe连接127.0.0.1:27017失败求助
解决MongoDB Shell无法连接到127.0.0.1:27017的问题
我之前也碰到过一模一样的问题,别慌,这大概率是MongoDB服务没正常启动或者端口被占用导致的,给你几个一步步排查的解决方法:
1. 先确认MongoDB服务是否在运行
这是最常见的原因:
- Windows系统:按下
Win+R输入services.msc打开服务管理器,找到名称为MongoDB(或者带版本号的MongoDB Server 3.6)的服务,查看状态是否为「正在运行」。如果没启动,右键点击选择「启动」;要是想下次开机自动启动,就设置启动类型为「自动」。 - Linux/macOS系统:
- 用systemd管理的Linux发行版(比如Ubuntu 16.04+),运行
sudo systemctl status mongod查看状态,未启动的话执行sudo systemctl start mongod启动服务。 - macOS如果是用Homebrew安装的,运行
brew services list查看MongoDB状态,未启动则执行brew services start mongodb-community。
- 用systemd管理的Linux发行版(比如Ubuntu 16.04+),运行
2. 检查27017端口是否被占用
有时候其他程序会占用MongoDB默认的27017端口,导致连接失败:
- Windows:打开命令提示符,运行
netstat -ano | findstr :27017,找到输出里的进程ID(PID),然后打开任务管理器,找到对应PID的进程并结束它,之后重启MongoDB服务。 - Linux/macOS:运行
lsof -i :27017或者netstat -tulpn | grep 27017找到占用端口的进程,执行kill -9 <进程ID>杀掉该进程,再重启MongoDB。
3. 排查MongoDB配置文件(如果手动指定过)
如果你启动MongoDB时用了--config参数指定配置文件,检查这两个关键配置:
net.port:确认是不是设置成了27017(默认值),如果改了其他端口,连接时要加上--port 自定义端口号。bindIp:确认配置的是127.0.0.1或者0.0.0.0(允许所有IP连接),如果设置了特定IP而你的Shell不在这个IP段,就会连接失败。
4. 手动启动MongoDB实例(服务启动失败时用)
如果服务启动报错,你可以手动启动MongoDB来查看具体错误:
- Windows:找到MongoDB的bin目录(比如
C:\Program Files\MongoDB\Server\3.6\bin),打开命令行进入该目录,运行mongod.exe。如果提示数据目录不存在,就手动创建一个(比如D:\MongoDB\data),然后用mongod.exe --dbpath D:\MongoDB\data指定数据目录启动。 - Linux/macOS:进入MongoDB的bin目录,运行
mongod。如果提示data/db不存在,执行mkdir -p /data/db创建目录,或者用mongod --dbpath /自定义数据路径指定路径。
执行完上面的步骤后,再重新打开mongo.exe,应该就能正常连接了。
内容的提问来源于stack exchange,提问作者Sanjay kumar.k




