我在Windows 8.1上安装了MongoDB。
然后我使用命令提示符导航到D:\ mongodb \ bin。
然后我使用以下命令:
mongod.exe --config D:\mongodb\mongodb.conf
mongodb.conf的内容
bind_ip = 127.0.0.1,100.100.100.100
port = 3979
quiet = true
dbpath = D:\mongodb\data\db
logpath = D:\mongodb\data\log\mongodb.log
logappend = true
journal = true
但是 MongoDB 没有启动。如果我使用 mongod.exe(不使用配置文件),它可以完美运行。
更新:
我的意图很简单:将默认端口更改为另一个端口,并且只允许特定 IP 地址访问。
我之前使用的是 Ubuntu 的配置方式。感谢 Panda_Claus 指出了新的配置方法。
所以我将配置更改为:
net:
bindIp: 127.0.0.1,100.100.100.100
port: 3979
问题在于,当我使用这个配置启动mongod时,它会出现错误然后自动退出。
ERROR: listen(): bind() failed errno:10049 The requested address is not valid in its context. for socket: 100.100.100.100:3979
那么我如何允许只有本地主机和特定IP地址(在这种情况下是100.100.100.100)连接到mongodb?
更新2
我使用了maerics的配置。
net:
bindIp: 127.0.0.1,192.168.10.104
port: 3979
storage:
dbPath: D:\mongodb\data\db
journal:
enabled: true
systemLog:
destination: file
path: D:\mongodb\data\log\mongodb.log
quiet: true
logAppend: true
有趣的是,使用这个方法,我只能连接到本地机器上的数据库,其他局域网计算机无法连接。
192.168.10.104:3979.
然而,如果我删除标签
systemLog:
destination: file
path: D:\mongodb\data\log\mongodb.log
quiet: true
logAppend: true
局域网内的其他计算机可以连接到数据库。
bind_ip
配置值仅确定MongoDB服务器正在侦听哪个IP地址。它不控制来自远程IP的访问 - 这是防火墙
的工作。 - Stennie