Home » Angularjs » MongoDB not working. “ERROR: dbpath (/data/db) does not exist.”

MongoDB not working. “ERROR: dbpath (/data/db) does not exist.”

Posted by: admin November 7, 2017 Leave a comment


I’m getting the following error when I try to run “mongod” in the terminal. I’ve tried uninstalling, reinstalling, and restarting the machine. Any suggestions on how to get it working would be amazing.


dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo

Side note:
Node also stopped working on my machine around the same time that I got this error.

        throw er; // Unhandled 'error' event
Error: failed to connect to [localhost:27017]

Any help would be much appreciated!


This should work to ensure that the directory is set up in the right place so that Mongo can find it:

sudo mkdir -p /data/db/

sudo chown `id -u` /data/db


You need to create the directory on root /data/db or set any other path with the following command :

mongod --dbpath /srv/mongodb/

See the example link


I solved the problem with :

sudo mongod --dbpath=/var/lib/mongodb and then mongo to access the mongodb Shell.


Change the user of the new data directory:

chown mongodb [rute_directory]

And try another time to start the mongo service

service mongod start

I solve the same problem with this.


Daemons (usually ending with d) are normally started as services. Starting the service (daemon) will allow mongodb to work as designed (without permission changes if integrates well with your distro). I start it using the service named mongodb instead of starting mongod directly–on distro with systemd enable on startup then run like:

sudo systemctl enable mongodb    
sudo systemctl start mongodb

or, on distro with upstart (if you have /etc/init) or init (if you have /etc/init.d) ( https://www.tecmint.com/systemd-replaces-init-in-linux/ ) instead run:

sudo service mongodb enable
sudo service mongodb start

If you have a distro with rc (“run commands”) such as Gentoo (settings in /etc/init.d) (https://forums.gentoo.org/viewtopic-t-854138-start-0.html) run:

rc-update add mongodb default 
/etc/init.d/mongodb start 

In a distro/version of FreeBSD which still has rc (check whether your version switched to systemd, otherwise see below):

add the following line to /etc/rc.conf:

sudo service mongod start