服务器A ip: 192.168.31.78。 已装有MongoDB。数据在这台上面
服务器B ip: 192.168.31.250。
需求: 服务器B需要连接到A上的数据库。
直接在服务器B上连接192.168.31.78:27017端口是无法连接的,目标服务器A会积极拒绝,这是因为A上MongoDB 启动时的命令缺了–bind_ip 这个参数,这个参数默认是localhost,因此导致只能本机访问数据库,其他的机子无法访问。所以进行如下操作:
1. 如果你的Mongod服务已经开启,先关掉
mongod –remove
如果还设置了系统服务,最好把服务也删掉
sc delete MongoDB # MongoDB是你服务的名称
2.重启mongod,我这里顺便注册了服务
mongod –logpath F:\MongoDB\Server\4.0\log\mongoDB.log –logappend –dbpath F:\MongoDB\Server\4.0\data –bind_ip_all –serviceName MongoDB –install
–bind_ip_all 这个参数等于 –bind_ip 0.0.0.0 ,当然你也可以–bind_ip 192.168.31.78 也是可以的。我比较懒,只试了–bind_ip_all, –bind_ip 192.168.31.78你们可以试试,如果不行,记得告诉我。
3.启动服务
net start MongoDB
在服务器B上连接一下,成功!
另外,还有官网说的一个操作,我是没整的特别明白,也贴在这里,有兴趣的小伙伴可以看看,看懂了可以探讨下。
https://docs.mongodb.com/manual/tutorial/configure-windows-netsh-firewall/