Search code examples
linuxmongodbserviceinitialization

What is the correct way to start a mongod service on linux / OS X?


I've installed mongodb and have been able to run it, work with it, do simple DB read / write type stuff. Now I'm trying to set up my Mac to run mongod as a service.

I get "Command not found" in response to:

 init mongod start

In response to:

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

And if I try:

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

So obviously I'm blundering around a bit. Next step seems to be typing in random characters until something works. The command which does work is: mongod --quiet & I'm not sure, maybe that is the way you're supposed to do it? Maybe I should just take off 'quiet mode' and add > /logs/mongo.log to the end of the command line?

I'm building a development environment on a Mac with the intention of doing the same thing on a linux server. I'm just not sure of the Bash commands. All the other searches I do with trying to pull up the answer give me advice for windows machines.

Perhaps someone knows the linux version of the commands?

Thanks very much


Solution

  • With recent builds of mongodb community edition, this is straightforward.

    When you install via brew, it tells you what exactly to do. There is no need to create a new launch control file.

    $ 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