在linux / OS X上启动mongod服务的正确方法是什么?

时间:2011-04-08 14:24:03

标签: linux mongodb service initialization

我已经安装了mongodb并且能够运行它,使用它,做简单的DB读/写类型的东西。现在我正在尝试设置我的Mac以运行mongod作为服务。

我在回复:

时收到“未找到命令”
 init mongod start

回应:

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

如果我尝试:

~: launchctl start mongod
launchctl start error: No such process

显然我有点浮躁了。下一步似乎是输入随机字符,直到有效。 工作的命令是:mongod --quiet &我不确定,也许这就是你应该这样做的方式?也许我应该脱掉'安静模式'并将> /logs/mongo.log添加到命令行的末尾?

我正在Mac上构建一个开发环境,目的是在linux服务器上做同样的事情。我只是不确定Bash命令。我尝试提取答案时所做的所有其他搜索都为我提供了Windows机器的建议。

也许有人知道linux版本的命令?

非常感谢

11 个答案:

答案 0 :(得分:152)

编辑:您现在应该使用brew services start mongodb,就像Gergo的回答一样......

当您安装/升级mongodb时,brew会告诉您该怎么做:

  

要在登录时启动启动mongodb:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
  

然后立即加载mongodb:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
  

或者,如果您不想/需要launchctl,您可以运行:

    mongod

效果很好。

答案 1 :(得分:127)

最近建立的mongodb社区版本,这很简单。

当您通过brew安装时,它会告诉您究竟要做什么。无需创建新的启动控制文件。

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
  ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M

答案 2 :(得分:70)

Homebrew services点击将公式与launchctl经理进行整合。添加它很容易:

brew tap homebrew/services

然后您可以使用此命令启动MongoDB(这也将在启动时启动mongodb):

brew services start mongodb

您还可以使用stoprestart

brew services stop mongodb
brew services restart mongodb

答案 3 :(得分:14)

如果您想要一个简单的gui来修复此问题(就像我一样),那么我可以推荐mongodb pref-pane。说明:http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

在github上:https://github.com/remysaissy/mongodb-macosx-prefspane

答案 4 :(得分:3)

刚刚通过Homebrew安装了MongoDB。在安装控制台的末尾,您可以看到如下输出:

启动mongodb:

brew services start mongodb

或者,如果您不想/需要后台服务,您可以运行:

mongod --config /usr/local/etc/mongod.conf

所以, brew服务启动mongodb ,设法将MongoDB作为服务运行。

答案 5 :(得分:2)

我在Mac方面做了一些调查。您可能希望使用安装程序here,因为它看起来像是为您在Mac OS上自动启动的所有设置。唯一的缺点是看起来它使用了一个非常古老的mongo版本。

此链接here还说明了让mongo自动在Mac上作为后台服务启动的设置。

答案 6 :(得分:0)

mongod --dbpath [path_to_data_directory] ​​

答案 7 :(得分:0)

第一步

使用

在你的linux机器上安装mongodb
  

安装mongodb-client&& apt install mongodb-server

第二步是

如果需要,

更改数据库路径而不是系统默认路径。
所以请执行以下步骤并自行更改。

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

并在你的Windows机器上就像只是放一个--install标志。 你必须得到一个成功的信息。

最诚挚的问候......

答案 8 :(得分:0)

在装有MongoDB 4.0的macOS 10.13.6上

我无法从mongo shell连接到本地主机

我以以下方式启动MongoDB:

  

mongod --config /usr/local/etc/mongod.conf

我发现'mongod.conf'具有:

  

bindIp:127.0.0.1

将我的JavaScript连接从 localhost 更改为 127.0.0.1 ,它可以正常工作。

MongoDB Compass也发生了同样的情况。

答案 9 :(得分:0)

mongod不能为我启动守护程序,但是在运行以下命令之后,它开始运行:

'mongod --fork --logpath /var/log/mongodb.log'

(从这里开始:https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/

答案 10 :(得分:0)

通过brew安装mongodb之后,请运行以下命令以使其启动并运行:

mongod --dbpath /usr/local/var/mongodb