1. 当我们不加任何参数时,即执行mongod
命令时,服务报错,说没有/data/db
文件目录或权限。
这点我有一点点疑惑,配置文件是干什么吃的,安装完后在/etc/mongod.cong
配置文件里明明有如下配置:
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
难道意思不是说,默认存储在`/var/lib/mongodb`里面吗? 也查了资料,说仅仅执行 mongod 命令,不会去加载任何配置文件, 好吧,这个意思就是需用参数--dbpath去指定config文件。 OK,这么说也能接受,那`/data/db`这个目录又是哪里来的,是mongod程序里硬编码里的吗。 只能这么理解了我也能接受。
2. 同样的,service mongod start
同样我也不带任何参数,直接启动服务,成功执行。
这里的成功我要打个问号,虽然说linux中无回复就是成功执行的意思
,不过我同样没有指定配置文件啊,那又会存储到哪里呢,是/data/db
还是/etc/mongod.conf里配置的/var/lib/mongodb
, 如果是/data/db, 这个文件夹我还没创建呢,又如何成功,如果是/var/lib/mongodb,为毛我这一次没指定配置文件,他又用了/etc/mongod.conf这个配置
其实你描述的这样行为模式恰是 Linux 下软件通用行为。
执行
service mongod ...
时, 执行的是/etc/init.d/mongod
脚本,这个脚本里有这样一段
可见这里是指名了配置文件所在位置的。