我正在尝试使用配置文件安装mongod时不断收到此错误。所以,我正在关于mongodb的Pluralsight上看这个教程。这个人的编程环境尽可能顺利。但是,我遇到了几个问题。首先,我正在尝试设置不同的logpath和数据库路径。这是conf文件的基本布局
dbpath=/Pluralsight/db
logpath=/Pluralsight/mongod.conf
verbose=vvvvv
我的语法:
c:\Program Files\MongoDB\Server\3.0\bin\mongod -f c:\Pluralsight\mongod.conf
//Trying to run mongod using a configuration file
当我按回车键时,我应该收到一条消息,说明所有内容都被定向到这个新的日志文件和一个新的数据库。我没有得到任何消息。但是,这并没有阻止它创建包含预期文件夹中的信息的日志文件。现在,我继续安装mongod作为服务。这是我输入
的时候 C:\Program Files\MongoDB\Server\3.0\bin\mongod -f c:\Pluralsight\mongod.conf --install
//using the configuration file to install mongod as a service
我收到错误:
全局初始化失败:BadValue logpath需要绝对值 Windows服务的文件路径
我不知道如何解决这个问题!
答案 0 :(得分:24)
我遇到了与MongoDB指令相同的问题,因为一旦导航到MongoDB bin,我就在CLI中为我的mongo.cfg使用了相对路径:
mongod.exe --config mongod.cfg --install
。
相反,我需要指定配置文件的绝对路径:
mongod.exe --config "C:\Program Files\MongoDB\Server\3.0\bin\mongod.cfg" --install
答案 1 :(得分:4)
错误消息说明了问题。您的MongoDB配置文件具有相对路径,而不是绝对路径。
尝试按如下方式设置日志路径
logpath=c:/Pluralsight/mongod.log
答案 2 :(得分:3)
我遇到了同样的问题。我读完这篇文档后,解决了。
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows
按Win键,键入cmd.exe,然后按Ctrl + Shift + Enter以管理员身份运行命令提示符。
从管理员命令提示符执行其余步骤。
为您的数据库和日志文件创建目录:
mkdir c:\data\db
mkdir c:\data\log
创建配置文件。该文件必须设置systemLog.path。根据需要包括其他配置选项。
例如,在C:\ mongodb \ mongod.cfg创建一个文件,该文件指定systemLog.path和storage.dbPath:
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
重要
使用“Administrative Privileges”命令在“命令提示符”中运行以下所有命令。
通过使用--install选项启动mongod.exe并使用-config选项指定以前创建的配置文件来安装MongoDB服务。
" C:\ mongodb的\ BIN \ mongod.exe" --config" C:\ mongodb \ mongod.cfg" - 安装 要使用备用dbpath,请在配置文件中指定路径(例如C:\ mongodb \ mongod.cfg),或在命令行中使用--dbpath选项指定路径。
如果需要,您可以为mongod.exe或mongos.exe的多个实例安装服务。使用唯一的--serviceName和--serviceDisplayName安装每个服务。仅当存在足够的系统资源且系统设计需要时才使用多个实例。
启动MongoDB服务。
net start MongoDB
根据需要停止或删除MongoDB服务。
要停止MongoDB服务,请使用以下命令:
net stop MongoDB
要删除MongoDB服务,请使用以下命令:
"C:\mongodb\bin\mongod.exe" --remove
答案 3 :(得分:1)
echo logpath = C:/ myProgra/MongoDB/log/mongo.log> “C:\ MyProgram \ MongoDB的\ mongod.cfg” C:\ myprogram \ MongoDB \ Server \ 3.0 \ bin \ mongod.exe --config“C:\ myProgram \ MongoDB \ mongod.cfg”--install
答案 4 :(得分:1)
我遇到了同样的问题。但我可以通过更新路径解决它,如下所示。我可以看到问题是文件路径中的正斜杠和反斜杠。
class Gui {}
interface ComponentRenderer<T extends GuiComponent<T>> {
public void draw(T component);
}
// T is the self-type. Subclasses will set it to their own type. In this way this class
// can refer to the type of its subclasses.
abstract class GuiComponent<T extends GuiComponent<T>> extends Gui {
private ComponentRenderer<T> componentRenderer;
public void draw() {
this.componentRenderer.draw(thisSub());
}
public void setComponentRenderer(ComponentRenderer<T> r) {}
// This method is needed for the superclass to be able to use 'this'
// with a subclass type. Sub-classes must override it to return 'this'
public abstract T thisSub();
//and a setter and getter for the ComponentRenderer
}
// Here the self-type parameter is set
class GuiButton extends GuiComponent<GuiButton> {
public GuiButton(/* ... */) {
//...
this.setComponentRenderer(new FlatButtonRenderer());
}
class FlatButtonRenderer implements ComponentRenderer<GuiButton> {
@Override
public void draw(final GuiButton component) {
//...
}
}
@Override
public GuiButton thisSub() {
return this;
}
}
dbpath= C:/mongolearning/db
logpath= C:/mongolearning/mongo-server.log
verbose=vvvvv
C:\Program Files\MongoDB\Server\3.2\bin>mongod -f "C:\Program Files\MongoDB\Server\3.2\bin\mogod.conf" --install
它开始了。
MongoDB服务正在启动。 MongoDB服务已成功启动。
答案 5 :(得分:0)
感谢你们的建议。我刚刚在他们的网站上使用MongoDB的说明,在windows中安装mongod作为服务,而不是Pluralsight教程,并且进展顺利。
答案 6 :(得分:0)
配置文件中不能有引号。 这样的方式是错误的:
div
缺点是正确的:
transcript
答案 7 :(得分:0)
在配置文件中使用绝对路径而不是dbpath&amp;的相对路径。 logpath如下所示,并运行命令来安装MongoDB服务。
dbpath = c:/Pluralsight/db (instead of /Pluralsight/db)
logpath = c:/Pluralsight/mongo-server.log (instead of Pluralsight/mongo-server.log)
verbose = vvvvv
安装MongoDB服务的命令如下:
mongod -config "C:\Pluralsight\mongod.conf" --install
答案 8 :(得分:0)
我得到了同样的错误
**Failed Global Initialization: BadValue logpath requires an absolute file path with windows services**
因为我在mongo.config中指定了日志路径文件夹,但我必须指定一个日志文件
dbpath=C:\Program Files\MongoDB\Server\3.4\data\db
logpath=C:\Program Files\MongoDB\Server\3.4\log
diaglog=3
我将日志文件更改为
dbpath=C:\Program Files\MongoDB\Server\3.4\data\db
logpath=C:\Program Files\MongoDB\Server\3.4\log\mongo.log
diaglog=3
之后,这个命令解决了我的问题。希望这对你有用。
mongod.exe --config "C:\Program Files\MongoDB\Server\3.4\mongo.config" --install
然后终于
net start MongoDB
答案 9 :(得分:0)
通过直接从命令行指定logpath
和dbpath
标志,我在安装MongoDB服务时遇到了同样的问题。
mongod --install --logpath='<my log path>' --dbpath='<my db path>'
原来,logpath
和dbpath
值必须用双引号括起来( ie&#34;&#34; )而不是单个qoutes,或者如果路径在绝对目录路径中没有任何空格,则根本没有引号。
所以以下是我的诀窍:
mongod --install --logpath="<my log path>" --dbpath="<my db path>"
注意路径包含在双qoutes内。