环境:
如果我使用mongod
守护进程启动mongodb,则默认数据库路径为/data/db
但如果我使用/etc/init.d/mongodb
脚本启动mongodb,/etc/conf.d/mongdb
写默认数据库路径为/var/lib/mongodb
,
我很困惑为什么db路径不一样?
答案 0 :(得分:4)
如果在没有配置文件的情况下启动MongoDB,则默认dbpath为/data/db
。
您的初始化脚本(/etc/init.d/mongodb
)正在启动mongodb,其中包含--config
(又名-f
)选项以及要使用的配置文件的路径(/etc/conf.d/mongodb
)。< / p>
如果查看/etc/config.mongodb
配置文件的内容,您应该会看到dbpath
设置,其中/var/lib/mongodb
目录路径会覆盖默认路径。在这种情况下,MongoDB安装包的维护者已经确定/var/lib
是最合适的数据文件默认目录。通常,这样做是为了与您的发行版中其他包使用的默认位置更加一致; MongoDB数据文件可以存在于文件系统的任何位置。
您还可以使用以下命令检查mongo
shell中配置文件覆盖的所有设置:
getCommandLineOpts()
输出类似于:
{
"argv" : [
"mongod",
"--dbpath",
"/var/lib/mongodb"
],
"parsed" : {
"dbpath" : "/var/lib/mongodb"
},
"ok" : 1
}