我在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
但是mongod并没有开始。如果我使用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
那么如何只允许localhost和特定的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
LAN网络中的其他计算机都可以连接到数据库。
答案 0 :(得分:10)
尝试修改随文档提供的示例文件,例如:
net:
bindIp: 127.0.0.1
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
答案 1 :(得分:3)
不是mongo专家,但从mongo文档中可以看出,您应该使用“:”作为分隔符而不是“=”。
这是我发现支持此链接的链接:
[1]:[http://docs.mongodb.org/manual/reference/configuration-options/“Mongo配置文件格式”] [1]
答案 2 :(得分:1)
正如其他人已经说过的,这个错误指向一个不正确的配置文件。因此,最好采用与 mongo 安装捆绑在一起的默认 conf 文件并在其上进行自定义。在基于 Linux 的 mongo 安装中,可以在 /etc/mongod.conf
找到它。
以下是步骤摘要:
cp /etc/mongod.conf <desired_directory>/mymongod.conf
/usr/bin/mongod --config <desired_directory>/mymongod.conf
答案 3 :(得分:0)
如果有效的 YAML 不能解决您的问题。然后你可以试试这些步骤。
第 1 步:首先检查您的 Mongod 的安装位置。就我而言,它在这里:检查您的路径
C:\Program Files\MongoDB\Server\4.0\bin
第 2 步: 检查您的配置文件名。就像我的情况一样,它是 mongod.cfg
。这是默认配置。您可以创建自己的或使用相同的,因为我为此示例创建了新的:mongod_original.cfg
。您可以在此处更新端口或任何您想要的内容。如:(要编辑文件,请以管理员身份在记事本中打开文件)。保存文件,如果它抛出任何错误,请检查您的记事本是否以管理员身份打开。
第 3 步: 以 cmd
的身份运行 administrator
。并为您的配置文件运行此命令:
mongod --config mongod_original.cfg
输出:
您的 mongoDB 将在更新端口启动:27000
有用:如果出现错误:exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: C:\Program Files\MongoDB\Server\4.0\data, terminating
点击链接,根据您的操作系统,您可以找到解决方案:MongoDB: exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating