macOS Monterey系统中MongoDB 6无法启动mongod服务
问题分析与解决
核心错误定位
从日志中可提取出导致服务终止的关键错误:
{"t":{"$date":"2022-08-09T21:13:41.729+05:30"},"s":"E", "c":"CONTROL", "id":20568, "ctx":"initandlisten","msg":"设置监听器时出错","attr":{"error":{"code":9001,"codeName":"SocketException","errmsg":"地址已被占用"}}}
该错误表明MongoDB默认监听的27017端口已被其他进程占用,导致服务无法启动。日志中出现的无法解析sysctl等信息属于非致命警告,不会引发服务终止。
解决方案
1. 定位占用端口的进程
在Mac终端执行以下命令,查找占用27017端口的进程:
lsof -i :27017
输出结果里的PID字段即为目标进程ID。
2. 终止占用进程
使用查到的PID执行终止命令:
kill -9 <PID>
将<PID>替换为实际的进程ID。
3. 重启mongod服务
进程终止后,重新启动服务:
mongod --dbpath /System/Volumes/Data/data/db
4. 备选方案:指定其他端口启动
若无需终止现有进程,可通过指定新端口启动mongod:
mongod --dbpath /System/Volumes/Data/data/db --port 27018
后续连接时需指定对应端口:
mongo --port 27018
内容的提问来源于stack exchange,提问作者Shashibhushan Singh
相关产品推荐
相关产品推荐

