当我运行命令时:sudo service mongodb start
mongodb服务使用默认数据目录启动。
当我运行命令时:mongod --dbpath data/db --fork --logpath data/log/mongodb.log
它使用给定的dbpath启动mongodb。有什么区别?
首先运行sudo service mongodb start
然后运行mongod --dbpath data/db --fork --logpath data/log/mongodb.log
我应该先使用sudo service mongodb stop
停止服务吗?
这一切都在ubuntu 12.04
上答案 0 :(得分:1)
一个使用upstart而另一个不使用,而且upstart的好处是能够使用包含重启/停止/启动/等过程的全局脚本来对流程进行高级管理。
运行服务时mongos
使用您在安装时创建的默认配置文件,而使用direct命令添加参数告诉mongod
它具有自定义dbpath
和--fork
和logPath
。
答案 1 :(得分:0)
mongodb带有默认配置的 mongod.conf (/ etc / mongod.conf)文件。当我们使用 service mongodb start 启动mongodb服务器时,它从mongod.conf获取默认参数并启动服务,当你使用mongod.sh启动它时不是这种情况它将从命令行获取参数。
另一个重要的事情是lates mongodb带有值为127.0.0.1的mongod.conf中的 bind_ip 参数,它将服务器绑定到localhost进行通信。因此mongo服务器不允许进行远程网络通信。但是如果我们使用mongod --dbpath启动服务器并且没有指定bind_ip param,它将启动与任何不推荐的网络的服务器通信。