56

For whatever reason, whenever I try to start MongoDB as a service (sudo service mongod start) I get the following error:

Failed to start mongod.service: Unit mongod.service not found. I followed Installation Steps mention following link mongo db installation failed

system> sudo systemctl start mongodb
Failed to start mongodb.service: Unknown unit: mongodb.service

And when I try sudo mongod:

MongoDB shell version: 3.2.13 connecting to: - 
2017-06-03T16:19:28.513+0530 W NETWORK [thread1] 
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 
2017-06-03T16:19:28.514+0530 E QUERY [thread1] 
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed

And when I try mongod --repair:

2017-06-03T16:32:35.514+0530 I CONTROL [initandlisten] 
MongoDB starting : pid=17423 port=27017 dbpath=/data/db 64-bit host=sid-Ideapad-Z570 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] db version v3.2.13 [listen] target_arch: x86_64 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] options: {} 2017-06-03T16:32:35.540+0530 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
12
  • What's the output of this command : ls /etc/systemd/system | grep mongo Output ? Jun 3, 2017 at 10:35
  • out put is mongodb.service Jun 3, 2017 at 10:37
  • Do you have this file ? /usr/bin/mongod; if you have what the output of this command sudo mongod Jun 3, 2017 at 10:41
  • MongoDB shell version: 3.2.13 connecting to: - 2017-06-03T16:19:28.513+0530 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 2017-06-03T16:19:28.514+0530 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed Jun 3, 2017 at 10:49
  • 1
    try mongod --repair then sudo mongod; it's may be helpful Jun 3, 2017 at 10:53

3 Answers 3

87

I reinstalled mongod-org, since my data will still stay safe.

The problem was that my system couldn't find mongod.service when I ran sudo service mongod status.

Running this fixed it and restored the service:

sudo systemctl enable mongod

Then all I had to do was copy my correct config to /etc/mongod.conf and run

sudo service mongod restart
3
  • 9
    I was trying to enable mongod, but it shows Failed to execute operation: No such file or directory Oct 2, 2017 at 19:25
  • Just noting that this works when you have installed mongodb community edition from the mongodb repos
    – yeeking
    Oct 5, 2017 at 15:40
  • Try : sudo service mongodb status
    – Xonshiz
    Jul 5, 2019 at 9:43
20

This has worked for me.

  1. Uninstall your mongo completely from your system:

    sudo service mongod stop 
    sudo apt-get purge mongodb-org* 
    sudo rm -r /var/log/mongodb 
    sudo rm -r /var/lib/mongodb
    
  2. Now reinstall mongodb using following commands:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    sudo apt-get update
    sudo apt-get install -y mongodb-org
    

    To install a specific release, you must specify each component package individually along with the version number, as in the following example:

    sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
    
  3. Now you can see mongod working but still the same issue is bothering you. The issue is that your system couldn't find mongod.service when you run sudo service mongod status.

    Running this fixed it and restored the service:

    sudo systemctl enable mongod
    
  4. Now you're all set to use mongo.

    sudo service mongod restart
    
2
  • 1
    I have done your guide but I am getting following error: Failed to enable unit: Unit file mongod.service does not exist. @Akash Jain
    – alper
    Mar 29, 2019 at 17:46
  • I had success following this, but at step 3 I did sudo systemctl enable mongodb and for step 4 I did sudo systemctl start mongodb. Note the unexpected b in mongodb instead of just mongod.
    – ArtHare
    Sep 12, 2019 at 14:45
3

I too faced the exact problem mentioned by OP, even though I installed Mongodb using the official install tutorial (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ ),

NOTE: in step 2 of the tutorial (create a list file for Mongodb), it is important to click on the tab specific to the particular version of Ubuntu on your machine. By default it shows Ubuntu 14.04, which created the problems mentioned by OP (Failed to start mongod.service: Unit mongod.service not found)

When I finally noticed that in step 2 I had to properly select Ubuntu 16.04 (for me), the install was successful and after this mongod ran without any issues.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .