如何利用虚拟机IP从其他系统连接MongoDB数据库
从外部系统连接虚拟机中的MongoDB数据库
1. 修改MongoDB绑定配置(允许远程访问)
MongoDB默认只允许本地访问,得改配置放开权限:
- 找到配置文件:Linux一般是
/etc/mongod.conf,Windows在C:\Program Files\MongoDB\Server\[版本号]\bin\mongod.cfg - 找到
net模块里的bindIp,改成0.0.0.0(允许所有IP访问),或者指定你个人电脑的IP更安全,比如bindIp: 127.0.0.1, 192.168.1.100 - 重启MongoDB服务:
- Linux:
sudo systemctl restart mongod - Windows:打开服务管理器重启MongoDB,或者用命令
net stop MongoDB && net start MongoDB
- Linux:
2. 配置虚拟机网络
- 把虚拟机网络模式改成桥接模式,这样虚拟机会拿到和你个人电脑同网段的IP
- 查虚拟机IP:
- Linux:
ip addr或ifconfig - Windows:
ipconfig
- Linux:
- 先在个人电脑ping虚拟机IP,能通再往下走,不通就检查虚拟机防火墙或网络设置
3. 放行MongoDB默认端口(27017)
- Linux虚拟机:
- 用ufw放行:
sudo ufw allow 27017,再执行sudo ufw reload - 或iptables:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
- 用ufw放行:
- Windows虚拟机:在Windows Defender防火墙里加一条入站规则,允许TCP端口27017的连接
4. 配置MongoDB认证(可选但强烈推荐)
别裸奔,给MongoDB加用户权限:
- 进MongoDB shell:
mongosh - 切到admin库:
use admin - 创建远程访问用户(替换成你的用户名和密码):
db.createUser({ user: "remote_user", pwd: "your_strong_password", roles: [{ role: "readWriteAnyDatabase", db: "admin" }] }) - 改配置文件,开启认证:找到
security模块,加authorization: enabled,然后重启MongoDB
5. 个人电脑连接测试
- 命令行连接(带密码):
mongosh mongodb://remote_user:your_strong_password@[虚拟机IP]:27017 - 用Compass等可视化工具:连接字符串填
mongodb://remote_user:your_strong_password@[虚拟机IP]:27017,点连接就行
内容的提问来源于stack exchange,提问作者abi rajasekar
相关产品推荐
相关产品推荐

