How to install MongoDB on Mac OS X

A guide to show you how to install MongoDB on Mac OS X.

  1. MongoDB 2.2.3
  2. Mac OS X 10.8.2

1. Download MongoDB

Get MongoDB from official website, extracts it :


$ cd ~/Download
$ tar xzf mongodb-osx-x86_64-2.2.3.tgz
$ sudo mv mongodb-osx-x86_64-2.2.3 /usr/local/mongodb

2. MongoDB Data

By default, MongoDB write/store data into the /data/db folder, you need to create this folder manually and assign proper permission.


$ sudo mkdir -p /data/db
$ whoami
mkyong
$ sudo chown mkyong /data/db
Note
Permissin is required to avoid following locking error :


Unable to create/open lock file: /data/db/mongod.lock

3. Add mongodb/bin to $PATH

Create a ~/.bash_profile file and assign /usr/local/mongodb/bin to $PATH environment variable, so that you can access Mongo’s commands easily.


$ cd ~
$ pwd
/Users/mkyong
$ touch .bash_profile
$ vim .bash_profile

export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

##restart terminal

$ mongo -version
MongoDB shell version: 2.2.3

4. Start MongoDB

Start MongoDB with mongod and make a simple mongo connection with mongo.

Terminal 1

$ mongod
MongoDB starting : pid=34022 port=27017 dbpath=/data/db/ 64-bit host=mkyong.local
//...
waiting for connections on port 27017
Terminal 2

$ mongo
MongoDB shell version: 2.2.3
connecting to: test
> show dbs
local	(empty)
Note
If you don’t like the default /data/db folder, just specify an alternate path with --dbpath


$ mongod --dbpath /any-directory

5. Auto Start MongoDB

To auto start mongoDB, create a launchd job on Mac.


$ sudo vim /Library/LaunchDaemons/mongodb.plist

Puts following content :

/Library/LaunchDaemons/mongodb.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>mongodb</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/mongodb/bin/mongod</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/usr/local/mongodb</string>
  <key>StandardErrorPath</key>
  <string>/var/log/mongodb/error.log</string>
  <key>StandardOutPath</key>
  <string>/var/log/mongodb/output.log</string>
</dict>
</plist>

Load above job.


$ sudo launchctl load /Library/LaunchDaemons/mongodb.plist

$ ps -ef | grep mongo
    0    71     1   0  1:50PM ??         0:22.26 /usr/local/mongodb/bin/mongod
  501   542   435   0  2:23PM ttys000    0:00.00 grep mongo

Try restart your Mac, MongoDB will be started automatically.

References

  1. mongoDB website
  2. Install mongoDB on Mac OS X
  3. launchd.plist example
  4. Designing Daemons on Mac OS X
  5. Mac Launchd example

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
50 Comment threads
3 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
42 Comment authors
ArvsNagarajan RVyacheslav OkaraHarshTrueblue711 Recent comment authors
newest oldest most voted
justinjohnsonorg
Guest
justinjohnsonorg

This was perfect. Thanks!

Step #2 can be simplified to:
$ sudo mkdir -p /data/db
$ sudo chown `whoami` /data/db

Trueblue711
Guest
Trueblue711

Most straight-forward and helpful guide. Moreso that Mongo’s official install instructions. Thank you!

Arvs
Guest
Arvs

Thank you so much! I’ve been trying to figure this out since last night without having to use homebrew since I installed mongodb via binary. Your article helped me make it finally worked. This is working for High Sierra 10.13.3.

trackback
How to install mongoDB on Ubuntu

[…] Install MongoDB on Mac OS X […]

trackback
A Sample App with Node.js, Express and MongoDB – Part 1 | Dev Notes

[…] their downloads page. For configuration and help getting Mongo started I’d suggest you read this tutorial. Again, this is assuming your using OS X. Make sure you have MongoDB up and running before you […]

trackback
How to autostart mongodb with auth in macos? | BlogoSfera

[…] followed by this tutorial to auto start mongodb on my macosx. I need to start mongodb with auth option. Can you help […]

sxyx2008
Guest
sxyx2008

tks a lot

trackback
Java MongoDB Tutorial

[…] Install MongoDB on Mac OS X How to install MongoDB on Mac OS X. […]

trackback
MongoDB hello world example

[…] MongoDB on Windows, Ubuntu or Mac OS X. The installation is easy, basically just download the MongoDB zip file, extra and run the command […]

enl8enmentnow
Guest
enl8enmentnow

Helpful article! You should change the first line to:
cd ~/Downloads
with the s.

Gustavo Matias
Guest
Gustavo Matias

Everytime I want to find a tutorial on how to do something (dev specific), I always end up on your website… you have a talent of explaining things on a simple way that actually works. Thank you

ajit
Guest
ajit

Awesome!
Loved it 🙂

Andrew Solomon
Guest
Andrew Solomon

Thanks a lot. This helped me a ton.

Madhu
Guest
Madhu

Appreciate the effort. How would I uninstall MondgoDB? I simply can’t seem to find how to uninstall.
Would it be unwise to delete the mongodb folder? (ofcourse after shutting down mongod)

mkyong
Guest
mkyong

If you install via apt-get, you should uninstall it with apt-get as well.
If you install manually (unzip and copy folder), just delete the mongodb folder.

Walter Caraza
Guest
Walter Caraza

excelent tutorial, thanks!

Matt
Guest
Matt

Thanks! This streamlined work to get a mongo instance set up on a Mac used for development. 🙂

tenzo
Guest
tenzo

where should the “/data/db” be created under? same location where you moved mongodb folder?

trackback
mongoDB, could not read from config file -- config in different folder / Uninstall it? | BlogoSfera

[…] I’ve also tried following this guide with no luck. http://www.mkyong.com/mongodb/how-to-install-mongodb-on-mac-os-x/ […]

Coding Tip
Guest
Coding Tip

Thank a lot ! I wanted to write a post like this. But it’s enough.

Joaco
Guest
Joaco

Thanks!

Peter
Guest
Peter

Thank you for this tutorial, it was very straightforward and easy to follow.

sfsf
Guest
sfsf

Thanks a lot!

Marshall Thompson
Guest
Marshall Thompson

Thank you. This worked great!

trackback
mongo: command not found on Mac OSX even though it's in the PATH | CopyQuery

[…] trying to use mongodb on my Mac for a nodeJS app. I followed the steps given here to install […]

trackback
mongo: command not found on Mac OSX even though it's in the PATH - QueryPost.com | QueryPost.com

[…] trying to use mongodb on my Mac for a nodeJS app. I followed the steps given here to install […]

niko
Guest
niko

U saved my life. I have tried almost every other approach to installing mongodb globally with no success, and was seriously contemplating jumping out of my window until I came across your tutorial. Many blessing to you and your family! Thank u so much.

trackback
MongoDB mit Homebrew installieren | webworkerblog

[…] How To Install MongoDB On Mac OS X […]

xtbl
Guest
xtbl

Thanks dude!

Gimmi
Guest
Gimmi

Great Guide. Thanks a lot

slhddn
Guest
slhddn

Thanks for this helpful post. I was trying to install it following the instructions on mongodb.org but I couldn’t. That worked great.