我正在尝试在Windows上设置MongoDB,而在线文档似乎远非准确。
在"配置Windows服务" part,step 1提到创建配置文件。然后它提到用logpath="X:\path\mongo.log"
格式的行填写文件。但是,在链接之后,配置文件被称为YAML格式,这使得前一行在YAML中不可读。
我创建了一个基本的mongodb.cfg
(.cfg
或.conf
??)文件:
systemLog:
destination: file
path: "P:\\Servers\\MongoDB\\logs\\mongodb.log"
quiet: true
logAppend: true
storage:
dbPath: "P:\\Servers\\MongoDB\\data"
journal:
enabled: true
net:
bindIp: 127.0.0.1
port: 27017
但是,当我启动mongod --config P:\Servers\MongoDB\mongodb.cfg
时,该服务根本没有提供任何输出,只是挂起。
如果我删除了dbPath
行,它就会关闭,而根本没有任何消息。
我还尝试将mongodb.cfg
文件保留为:
logpath="P:\Servers\MongoDB\logs\mongodb.log"
dbpath="P:\Servers\MongoDB\data"
但执行中止抱怨任何一条路径,即使它们存在。尝试使用单个反斜杠和转义反斜杠(\\
)但没有成功。
服务工作和侦听连接的唯一方法是仅手动传递--dbpath
,而完全忽略任何配置文件和logpath 。显然这并不严重,因为我需要跟踪日志,也可能需要稍后更改配置参数。
这很坚果......我错过了一些非常基本的东西,或者这个文档真的很乱?
答案 0 :(得分:11)
这是我用于Windows的简单测试MongoDB配置文件。请注意,我必须在每个属性之前有2个空格,例如path。当我有3个空格时,我在启动时遇到错误。
我使用:mongod --config c:\tools\mongodb\db\mongod.cfg
systemLog:
destination: file
path: "C:\\tools\\mongodb\\db\\log\\mongo.log"
logAppend: true
storage:
dbPath: "C:\\tools\\mongodb\\db\\data"
security:
authorization: enabled
答案 1 :(得分:4)
以下是Windows的mongodb.config文件示例。
##store data here
dbpath=C:\mongodb\data\db
##all output go here
logpath=C:\mongodb\data\log\mongo.log
##log read and write operations
diaglog=3
答案 2 :(得分:2)
有点晚,但今天我遇到了同样的问题。如果在配置文件中对路径使用正斜杠,则可以正常工作。
systemLog:
destination: file
logAppend: true
path: "e:/mongo_data/3.6/mongo.log"
storage:
dbPath: "e:/mongo_data/3.6/db"
engine: "wiredTiger"
答案 3 :(得分:1)
检查data \ db路径中是否有任何文件。请删除所有这些文件,然后尝试重新启动。我完全使用了您的配置文件,并能够使用bindip和端口
成功启动服务答案 4 :(得分:0)
您可以找到导致日志文件无法正常工作的原因的日志。对于您的情况,请阅读P:\ Servers \ MongoDB \ logs \ mongodb.log文件。
答案 5 :(得分:0)
对于那些通过* .msi安装程序进行安装并且想知道.conf文件在哪里的用户。运行“ services.msc”并检查mongodb服务可运行文件的属性。