How can I run Mongodb, as a service, on Ubuntu 16.04 LTS? A few days ago I had upgrade my server to Ubuntu 16.04. I have noticed the my MongoDB service does not start when I reboot. Trying to use
sudo initctl start mongod
Did not do the trick. Anyone has an idea how to solve this?
For People That Want A Fresh Install
I have been struggling with this for 1 hour. Then I found this page Installing is as easy as doing:
Then to check if everything works:
sudo service mongodb status
Let me know if this works for you!
Anyone who upgrade or installed Ubuntu 16.04 ( also known as Ubuntu Xenial xerus ) noticed that some of the old services stopped running. This issue is known from version 15.04 but I will focus on the above version.
Such was my case with MongoDB. To make a long story, short, Ubuntu shifted from upstart to systemd. One common solution, to these problems, is to switch back to upstart. I do not consider that option as a real solution, certainly not for the long run.
A real solution ( IMHO ) to the problem is to write systemd script that will start MongodDB. Unfortunately MongoDB guys had yet to supply one.
So I had to write one from scratch. To create one of your own follow these steps:
or use sudo for all the following steps.
create a service script (in this example the name of the service is Mongodb)
File content should be
You can also download the file from here: mongodb.service
Here is a quick description of the important fields:
ExecStart - Is the command to run. Mongo installs itself under /usr/bin and the configuration file is written at /etc
User - The uid of the mongod process.
Group - The gid of the mongod process. Note that the user and group are created by the installation.
Now to start mongodb:
To stop mongodb service use:
To enable mongodb on startup
If you need to refresh the services use:
is what worked for me on Ubuntu Linux 16.04
The latest version of MongoDB does most of things except one thing for now. After installing the
MongoDB
onUbuntu 16.04.x
, run the commands as follows:Now most likely
mongod
starts on every boot automatically.This solution also works in case of getting this error:
After run the commands above, the commands below start to work:
Similarly, the all services installed must be enabled to run. For instance, after installation of Ops Manager (a.k.a MMS) the documentation says to run the commend below.
Most likely Ubuntu does not start the service. Because it is not enabled yet. To enable it just run the command below:
Then try to start the service:
That's all...
The packages for 3.2+ contain upstart scripts.
First, follow the official instructions to install:
Then unmask the
mongodb.service
job (and enable and start it). I believe it was masked because the package includes an upstart jobs as well, so you wouldn't want both of them to start. In our case, however, this is clearly what we want.References:
relevant JIRA issue
related question on Ask Ubuntu