×


MongoDB service is not starting up - Fix it now

Is your MongoDB service is not starting up?

This guide will help you.


Sometimes, issues with the the dbpath variable in /etc/mongodb.conf makes MongoDB service not to start.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to resolve MongoDB errors.

In this context, we shall look into how to fix this MongoDB error.


What to do when the MongoDB service is not starting up?

One of our customers approached us telling us that his MongoDB was not starting up when the computer starts. It was only running as root user. 

He received the below error message when the command mongod:

couldn't open /data/db/transaction_processor_dummy_development.ns errno:1 Operation not permitted

However, when running the below command didn’t throw any error.

$ sudo service mongodb start

Now let's take a look at how our Support Experts resolve this problem for our customers.


We found that the reason for this error was the dbpath variable in /etc/mongodb.conf. 

Previously, the default value for dbpath was /data/db. The upstart job mongodb(which comes with mongodb-10gen package) invokes the mongod with –config /etc/mongodb.conf option.

So, we suggested our customer to change the owner of the /data/db directory recursively.

This resolved the problem.


Sometimes, this issue can arise due to file permissions problem as well.

So we can run the below command to check the permissions:

ls -l /var/lib/mongodb

Then to fix the permissions, run the below command.

# chown -R mongodb:mongodb /var/lib/mongodb

After that, we can remove the lock file by running the below command:

# rm /var/lib/mongodb/mongod.lock

Finally, we can start the MongoDB:

# service mongodb start


[Need urgent assistance in fixing MongoDB errors? – We are here to help you.]


Conclusion

This article covers how to resolve the the problem of starting MongoDB server when running the command mongod which may arise due to file permission or ownership issues.


The reason was the dbpath variable in /etc/mongodb.conf. 

To fix, you only had to change the owner of the /data/db directory recursively.

Also For ubunto , what made it happen and was real simple is to install mongodb package:

$sudo apt-get install  mongodb


Also, You can use the below-mentioned command for mongodb service is not starting up:-

$sudo rm /var/lib/mongodb/mongod.lock 

$mongod --repair 

$sudo service mongodb start


Mongodb service is not starting up:

This can also happen if your file permissions get changed somehow. 

Removing the lock file didn't help, and we were getting errors in the log file like:

2016-01-20T09:14:58.210-0800 [initandlisten] warning couldn't write to / rename file /var/lib/mongodb/journal/prealloc.0: couldn't open file    /var/lib/mongodb/journal/prealloc.0 for writing errno:13 Permission denied

2016-01-20T09:14:58.288-0800 [initandlisten] couldn't open /var/lib/mongodb/local.ns errno:13 Permission denied

2016-01-20T09:14:58.288-0800 [initandlisten] error couldn't open file /var/lib/mongodb/local.ns terminating


So, went to check permissions:

ls -l /var/lib/mongodb

total 245780

drwxr-xr-x 2 mongodb mongodb     4096 Jan 20 09:14 journal

drwxr-xr-x 2 root    root        4096 Jan 20 09:11 local

-rw------- 1 root    root    67108864 Jan 20 09:11 local.0

-rw------- 1 root    root    16777216 Jan 20 09:11 local.ns

-rwxr-xr-x 1 mongodb nogroup        0 Jan 20 09:14 mongod.lock