MongoDB启动报错:Address already in use 问题求助
解决MongoDB "Address already in use" 错误
- 先排查端口占用问题:这个错误核心是MongoDB默认使用的27017端口被其他进程占用,和dbpath设置无关。
- Windows系统:打开命令提示符,执行
netstat -ano | findstr :27017,找到对应的PID后,在任务管理器中结束该进程。 - Mac/Linux系统:在终端执行
lsof -i :27017或者ss -tulpn | grep 27017,找到占用进程后用kill -9 <PID>终止。
- Windows系统:打开命令提示符,执行
- 检查后台mongod进程:可能之前启动的MongoDB未正常关闭,后台进程仍在占用端口。执行
ps aux | grep mongod(Mac/Linux)或在任务管理器查找mongod进程,杀掉重复运行的实例。 - 更换端口启动:如果不想终止占用27017的进程,启动MongoDB时指定其他端口,比如
mongod --dbpath ./data/db --port 27018,后续用mongo shell连接时也要对应指定端口:mongo --port 27018。 - 核对配置文件:若使用配置文件启动(如
mongod -f mongod.conf),检查文件内的port参数是否与其他服务冲突,同时确认dbpath对应的文件夹权限正常,未被其他进程锁定。
内容的提问来源于stack exchange,提问作者Mauro
相关产品推荐
相关产品推荐

