步骤一:设置虚拟机网络为 Bridged 模式
Parallels Desktop修改 Actions > Configure > Hardware > Network
> Bridged Network > Default Adapter
这样虚拟机就像局域网中一个真实的设备,拥有独立的 IP。
步骤二:查看 Mac 的 IP 地址
ifconfig | grep inet
找到局域网的IPMac 本地 IP: 192.168.1.109
步骤三:修改 MongoDB 的监听方式(默认只监听 localhost)
编辑 MongoDB 配置文件:
sudo nano /opt/homebrew/etc/mongod.conf
找到这一段:
net:
port: 27017
bindIp: 127.0.0.1
改成:
net:
port: 27017
bindIp: 0.0.0.0
这样 MongoDB 会监听所有网卡,包括虚拟机来的请求。
重启 MongoDB 服务
brew services restart mongodb-community
确认 MongoDB 已经启动监听所有地址:
lsof -iTCP -sTCP:LISTEN -n -P | grep mongod
你应该看到有 *:27017
。
步骤三:允许防火墙连接(如果开启了)
我没有开启防火墙
步骤四:在虚拟机中用 Python 测试连接
测试链接,
from pymongo import MongoClient
from pymongo.errors import ConnectionFailure
MONGO_URI = "mongodb://192.168.1.109:27017"
client = MongoClient(MONGO_URI)
try:
dbs = client.list_database_names()
print("Databases:")
for db in dbs:
print(f" - {db}")
except ConnectionFailure as e:
print(f"Connection failed: {e}")
显示连接成功
Databases: - S-AU - S-CH - S-CH-info - S-US - admin - config - local
Leave a Reply