How to install mongoDB on Ubuntu
This guide shows you how to install MongoDB on Ubuntu.
- Ubuntu 12.10
- MongoDB 2.2.3
1. Add 10gen package to source.list.d
Ubuntu 12 comes with a “mongo” package, but not the latest version.
$ sudo apt-cache search mongodb mongodb mongodb-clients mongodb-dev mongodb-server
It’s recommended to add 10gen package to /etc/apt/sources.list.d, as it contains the latest stable MongoDB. Create a /etc/apt/sources.list.d/mongo.list file, and declared the 10gen distro.
$ sudo vim /etc/apt/sources.list.d/mongo.list
##10gen package location deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
2. Add GPG Key
10gen package required GPG key, imports it :
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
If you didn’t imports the GPG key, apt-get update will hits following error message :
GPG error: http://downloads-distro.mongodb.org dist Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9ECBEC467F0CEB10
3. Update package
Update your apt-get list.
$ sudo apt-get update
Search “mongodb” again, a new 10gen package is appearing now. Get the “mongodb-10gen“, it contains the latest stable MongoDB.
$ sudo apt-cache search mongodb mongodb mongodb-clients mongodb-dev mongodb-server mongodb-10gen mongodb18-10gen mongodb20-10gen
4. Install mongodb-10gen
Everything is ready, now you can Install MongoDB :
$ sudo apt-get install mongodb-10gen
5. Where is MongoDB?
MongoDB is installed and started.
$ ps -ef | grep mongo mongodb 5262 1 0 15:27 ? 00:00:14 /usr/bin/mongod --config /etc/mongodb.conf mkyong 5578 3994 0 16:29 pts/0 00:00:00 grep --color=auto mongo $ mongo -version MongoDB shell version: 2.2.3
All MongoDB executable files are stored at /usr/bin/
$ ls -ls /usr/bin | grep mongo 4220 -rwxr-xr-x 1 root root 4317928 Feb 2 08:11 mongo 10316 -rwxr-xr-x 1 root root 10563336 Feb 2 08:11 mongod 10320 -rwxr-xr-x 1 root root 10563664 Feb 2 08:11 mongodump 10284 -rwxr-xr-x 1 root root 10526736 Feb 2 08:11 mongoexport 10324 -rwxr-xr-x 1 root root 10567768 Feb 2 08:11 mongofiles 10296 -rwxr-xr-x 1 root root 10539056 Feb 2 08:11 mongoimport 10272 -rwxr-xr-x 1 root root 10514544 Feb 2 08:11 mongooplog 10272 -rwxr-xr-x 1 root root 10518512 Feb 2 08:11 mongoperf 10320 -rwxr-xr-x 1 root root 10563632 Feb 2 08:11 mongorestore 6644 -rwxr-xr-x 1 root root 6802848 Feb 2 08:11 mongos 10312 -rwxr-xr-x 1 root root 10556560 Feb 2 08:11 mongostat 10272 -rwxr-xr-x 1 root root 10515856 Feb 2 08:11 mongotop
The “mongodb control script” is generated at /etc/init.d/mongodb
$ ls -ls /etc/init.d | grep mongo 0 lrwxrwxrwx 1 root root 21 Feb 2 08:11 mongodb -> /lib/init/upstart-job
The MongoDB config file is at /etc/mongodb.conf
# mongodb.conf # Where to store the data. # Note: if you run mongodb as a non-root user (recommended) you may # need to create and set permissions for this directory manually, # e.g., if the parent directory isn't mutable by the mongodb user. dbpath=/var/lib/mongodb #where to log logpath=/var/log/mongodb/mongodb.log logappend=true #port = 27017 #......
6. Controlling MongoDB
Some commands to control the MongoDB.
Starting MongoDB
$ sudo service mongodb start
Stoping MongoDB
$ sudo service mongodb stop
Restarting MongoDB
$ sudo service mongodb restart
References
- Official guide to install MongoDB on Ubuntu
- Debian Linux apt-get package management cheat sheet
- Install MongoDB on Mac OS X
- Install MongoDB on Windows

nice!!
Thanks Mkyong :)
Thanks!!!!!!!!!!
Thank you so much!
Thanks alot…:)
This worked nicely for me. However, I found that I kept getting socket error while trying to replace my MongoDB 2.0.+ install with this 2.2.+ version, so I found that I had to run the following remove command first:
Try autoremove to remove everything, and get the latest from 10gen source.
I hope you can help: i followed your instructions and it appears mongo started, because the command “mongo” works from so far every folder where i navigate – yet, your step 5 above:
“Now, MongoDB is installed, started, and auto start MongoDB script is generated to “/etc/init/mongo” and “/etc/init.d/mongo“…”,
when i try those at the cmd line, result in this: “No such file or directory”.
what am i doing wrong? i am thinking now that if i reboot my system [ubuntu 12.04 running as a virtual object on vmplayer], i will be unable to get mongo started again.
how can i start, and stop the mongo db?
The MongoDB may not installed properly. Do you have /etc/init.d/mongodb ? and what you get with the following command
Nice!
Thanks for the tutorial. Couple of points:
1- I had to import the keys (step 3) before step 2, otherwise step 2 always fails
2- It appears that I can only connect to the db if I run mongo with sudo
So please update your tutorial, thanks a lot.
Tutorial is updated and tested with Ubuntu 12 and MongoDB 2.2.3
Awesome. Thank you.
what is mongo db ?? is it a database ??
What is google? Is it a search engine where people can lookup mongodb to know what it is?
MongoDB is killing the web app now :) Try – http://www.mongodb.org/
Thank you!
Nice tutorial :)
Perfect tutorial thanks.
Thanks a lot….!!! This article helped a lot !!!
thanks mongo db 2 is now up and running on ubuntu11
going to test with pymongo and flask
thank you!