'Failed to start mongod.service: Unit mongod.service not found
I follow all the steps mention in MongoDB installation documents for Ubuntu 16.04
.
Steps 1:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Steps 2:
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
Steps 3:
sudo apt-get update
Steps 4:
sudo apt-get install -y mongodb-org
Steps 5:
sudo service mongod start
when I started MongoDB got an error as:
Failed to start mongod.service: Unit mongod.service not found.
Solution 1:[1]
Most probably unit mongodb.service is masked. Use following command to unmask it.
sudo systemctl unmask mongod
and re-run
sudo service mongod start
Solution 2:[2]
Please follow the below steps, it should work.
1 - Uninstall current installation completely
Source - official instructions
sudo service mongod stop
Remove Packages
sudo apt-get purge mongodb-org*
Remove the folders
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
2 - Reinstall as described on official site, I will just write down the all steps. enter link description here
Import the public key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Create a list file for Ubuntu 16.04
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
update the list
sudo apt-get update
Install the latest package
sudo apt-get install -y mongodb-org
3 - Now it should work, please try below command
sudo service mongod start
and check the status
mongo
it should appear the mongo shell
Solution 3:[3]
Failed to start mongod.service: Unit mongod.service not found
If you are following the official doc and are coming across with the error above that means mongod.service is not enabled yet on you machine (I am talking about Ubuntu 16.04). You need to do that using following command
sudo systemctl enable mongod.service
Now you can start mongodb using the following command
sudo service mongod start
Solution 4:[4]
You are missing a 'b' I think?
sudo service mongod start
should be
sudo service mongodb start
I think this is the case?
Solution 5:[5]
[Solution]
Just type
sudo mongod
It will work.
Solution 6:[6]
For Ubuntu 16.04.5, it is noticed that MongoDB installations does not auto enable the mongod.service file after installation in my case after I have installed on several servers, so we need to enable it like below:
Issue below to check whether mongod is enabled
systemctl list-unit-files --type=service
If it shows as "disabled", then you need to enable it.
sudo systemctl enable mongod.service
If we want to see whether mongod.service file exists in case this file is missing, check in
ls /lib/systemd/system
You will see a file
/lib/systemd/system/mongod.service
Solution 7:[7]
$service mongodb start
$service mongodb status
the status is active when I started using above command
Solution 8:[8]
This happened to me while adding users in admin db.
sudo systemctl daemon-reload
is recommended from the official mongo website, but did not help.
If you get
Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.
While executing
sudo systemctl start mongod
run journalctl -xe
and if the issue is
Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed
Then run sudo mongod
--> mongo
This will fix the issue and if you want to run with systemctl
, then terminate the windows for mongod and mongo and run
sudo systemctl start mongod
and then mongo
Solution 9:[9]
Case with me
Worked fine after the install; this problem occurred after I rebooted.
What worked for me is
sudo mkdir /var/lib/mongodb
sudo mkdir /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
After running the above commands open a new terminal and run:
sudo systemctl restart mongod
and run the mongo shell to check:
mongo
Note
If this problem occurs again (as with me every time I reboot), make it as a shell script to be run at startup.
Permanent solution (shell script at startup)
Step 1:
Make a file in the /etc/init.d
directory
sudo gedit /etc/init.d/custom-mongo-fix.sh
Step 2:
Put below code in the file you just opened in Step 1
#!/bin/bash
# mongodb fix
sudo mkdir /var/lib/mongodb
sudo mkdir /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
Step 3:
After the next boot you can normally start the mongod
server by:
sudo systemctl start mongod
Explanation: mongodb
requires the above two folders with owner
as mongodb
. When we shutdown/reboot, one or both of them gets removed. So, we need to create them and change their ownership.
Edit: I was using Stacer's cleaning tool before every shutdown. This also removes log files and folders. And hence, the error at every startup. Now I unselect the mongodb option and then clean.
Namaste. ?
Solution 10:[10]
Just try with this command:
$ sudo systemctl enable mongod
Solution 11:[11]
You can repair
$ sudo rm /var/lib/mongodb/mongod.lock
$ mongod --repair
$ sudo service mongodb start
For Stop
$ sudo service mongodb stop
For Restart-
$ sudo service mongodb restart
For Status-
$ sudo service mongodb status
Solution 12:[12]
As per documentation:
Run this command to reload the daemon:
sudo systemctl daemon-reload
After this you need to restart the mongod service:
sudo systemctl start mongod
To verify that MongoDB has started, run:
sudo systemctl status mongod
To ensure that MongoDB will start following a system reboot, run:
sudo systemctl enable mongod
Solution 13:[13]
In some cases for some security reasons the unit would be marked as masked. This state is much stronger than being disabled in which you cannot even start the service manually.
to check this, run the following command:
systemctl list-unit-files | grep mongod
if you find out something like this:
mongod.service masked
then you can unmask the unit by:
sudo systemctl unmask mongod
then you may want to start the service:
sudo systemctl start mongod
and to enable auto-start during system boot:
sudo systemctl enable mongod
However if mongodb did not start again or was not masked at all, you have the option to reinstall it this way:
sudo apt-get --purge mongo*
sudo apt-get install mongodb-org
thanks to @jehanzeb-malik
Solution 14:[14]
I got the same error for a long while, tried almost all installation isntruciton on google but could not find te answer...
I followed the instructions from https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ but keep getting the error Failed to start mongod.service: Unit mongod.service not found
I firstly installed using: sudo apt-get install -y mongodb-org Then noticed that wher I run:
$ sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed
mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
0 to upgrade, 4 to newly install, 0 to remove and 46 not to upgrade.
Need to get 0 B/40.1 MB of archives.
After this operation, 178 MB of additional disk space will be used.
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379307 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org (4.0.3) ...
$ mongod --version
db version v2.6.12
2018-10-26T12:03:12.362+0200 git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a
The db version was 2.6.12 instead of the latest one 4.0.3. So make sure you dont have mongodb-org-server already installed, if yes, then make sure you uupdate it to your target version (as indicated @https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ -> Step 4 - Install a specific release of MongoDB.)
target_version = 4.0.3
sudo apt-get install -y mongodb-org=target_version mongodb-org-server=target_version mongodb-org-shell=target_version mongodb-org-mongos=target_version mongodb-org-tools=target_version
$ sudo apt-get install -y mongodb-org=4.0.3 mongodb-org-server=4.0.3 mongodb-org-shell=4.0.3 mongodb-org-mongos=4.0.3 mongodb-org-tools=4.0.3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following packages will be upgraded:
mongodb-org-server
1 to upgrade, 4 to newly install, 0 to remove and 45 not to upgrade.
Need to get 15.7 MB/55.8 MB of archives.
After this operation, 217 MB of additional disk space will be used.
Get:1 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0/multiverse amd64 mongodb-org-server amd64 4.0.3 [15.7 MB]
Fetched 15.7 MB in 2s (6,289 kB/s)
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379306 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
**Preparing to unpack .../mongodb-org-server_4.0.3_amd64.deb ...
Failed to stop mongod.service: Unit mongod.service not loaded.
invoke-rc.d: initscript mongod, action "stop" failed.
dpkg: warning: old mongodb-org-server package pre-removal script subprocess returned error exit status 5
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Unpacking mongodb-org-server (4.0.3) over (2.6.12) ...**
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org-server (4.0.3) ...
Installing new version of config file /etc/mongod.conf ...
Setting up mongodb-org (4.0.3) ...
and after doing this its all working for me :D
Solution 15:[15]
May be you are using a wrong version of mongodb list file. I faced this problem but it's my mistake when not selecting the right list file for Ubuntu 16.04. The default selected is for Ubuntu 14.04 and it's the reason for my error: "Failed to start mongod.service: Unit mongod.service not found."
Solution 16:[16]
The following steps helped me solve the problem of not being able to start mongodb on Ubuntu Server 18.04 LTS
Step 1: First, remove MongoDB from previous if installed:
sudo apt remove --autoremove mongodb-org
Step 2: Remove any mongodb repo list files:
sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update
Step 3: Import the public key used by the package management system:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Step 4: Create a list file for MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Step 5: Reload local package database:
sudo apt-get update
Step 6: Install the MongoDB packages:
sudo apt-get install -y mongodb-org
Step 7: Start MongoDB:
sudo service mongod start
Step 8: Begin using MongoDB:
mongo
Hope it helps you.
Solution 17:[17]
Well.... My answer may be considered naive but in fact it has been the only way MongoDB has work in my case, Ubuntu 19.10. I tried to run the commands from the most voted comments and none worked, when running:
mongod --repair
I got this alert:
With some research I found out that running the DB in another port could be a solution, then:
mongod --port 27018
And it works great for me every time. Long answer but wanted to give context before giving such a simple solution.
(If I'm doing it wrong or doesn't seem logical, plz tell me! Relevant for me)
Solution 18:[18]
Do not remove your db if you already have some data you found useful. Just run the command below and you're good.
sudo systemctl restart mongodb.service
Solution 19:[19]
None of the 30+ existing answers helped me, because my service file was actually missing, not masked or disabled. Re-installing wasn't creating it either for some reason. Solution:
cd /lib/systemd/system
sudo touch mongodb.service
# Copy and paste text to go into service file from snippet below horizontal rule
sudo nano mongodb.service
sudo systemctl daemon-reload
sudo systemctl start mongodb
sudo systemctl status mongodb
[Unit]
Description=An object/document-oriented database
Documentation=man:mongod(1)
After=network.target
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
You should check that /etc/mongod.conf is actually the location of your conf file, it may be /etc/mongodb.conf instead.
As for how your service file may have gone missing in the first place. I managed to break it by uninstalling 3.0.15, trying and failing to install 5.* due to ubuntu 16 not being able to run it since some dependencies clashed, then re-installing 3.0.15 again.
Solution 20:[20]
To solve the problem of not being able to start mongodb on ubuntu 16.04 1) look at mongodb log file
2) we find that the error is due to "Failed to unlink socket file /tmp/mongodb-27017"
3) Look at the permission of file /tmp/mongdb-27017.lock and find that the owner is root instead of mongodb
4) Delete the /tmp/mongodb-27017.sock file manually and use the command "sudo chown mongodb:mongodb /tmp/mongodb*"
5) Start the service with systemcl and use netstat to check whther mongdob has been started on port 27017
Credit: https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/ https://hevodata.com/blog/install-mongodb-on-ubuntu/
Solution 21:[21]
I just encountered this on my parrot os and this is how I solved it.
sudo service mongodb start
Solution 22:[22]
Just follow the below commands. This has worked for me.
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
Now reinstall mongodb using following commands:
sudo apt update sudo apt install -y mongodb**
Note: The database server is automatically started after installation.
Next, let's verify that the server is running and works correctly.
sudo systemctl status mongodb
You'll see this output:
mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago Docs: man:mongod(1) Main PID: 2312 (mongod) Tasks: 23 (limit: 1153) CGroup: /system.slice/mongodb.service ??2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf**
Solution 23:[23]
For those that run into this and end up on this answer, as I did, where they got this error during uninstall orupgrade and Ubuntu keeps failing to uninstall the previous because the service doesn't exist this one line will get you past that and allow the uninstall or upgrade to continue.
sudo touch /lib/systemd/system/mongod.service
Solution 24:[24]
It worked for me on ubuntu 20.04: In my case, mongod.service file was locked so it was giving me the same error. To resolve the issue:- Step 1: Use following command to check if the mongod.service is present there
cd /usr/lib/systemd/system
ls
Step 2: If the file is present there then Run the following command to unlock the file mongod.service
sudo chmod 777 /usr/lib/systemd/system/mongod.service -R
Step 3: Now run the following commands:
sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl enable mongod
Solution 25:[25]
This is because Ubuntu or any other OS, won't work proparly for the system files if you have closed rootlogin. That is right. Even when you enter the root on filesystem. I know it seems not logical but it is all about 1 and 0's here.
Even I have su -
or
ssh [email protected]
(random IP, won't expose myself here:))
Still it didn't start!
"Failed to restart mongodb.service: Unit mongodb.service not found."
Then...
You need to activate root login. You can download cyberduck or any file explorer to quickly find the file .
go to: /etc/ssh/
if you couldn't go with a software tool, you can use for the step above: vi /etc/ssh/sshd_config then press ctrl-c write to console for saving it :wq
Change this file called sshd_config: /etc/ssh/sshd_config
Edit to line to yes: PermitRootLogin yes
REBOOT VPS
then write
sudo systemctl restart mongodb
Voila!
if that didn't help either because your VPS initiates services just before on the root, you should reinstall the VPS maybe
Solution 26:[26]
Note that if using the Windows Subsystem for Linux, systemd isn't supported and therefore commands like systemctl
won't work:
Failed to connect to bus: No such file or directory
See Blockers for systemd? #994 on GitHub, Microsoft/WSL.
The mongo server can still be started manual via mondgod
for development of course.
Solution 27:[27]
The second step of mongo installation is
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Instead of this command do it manually
cd /etc/apt/
nano sources.list
- Write it
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse
And save the file,
Continue all process as in installation docs
It works for me:
Solution 28:[28]
Try this: sudo systemctl start mongod
and to check whether its running use sudo systemctl status mongod
Solution 29:[29]
For Ubuntu
, if you have old mongodb installed (e.g 3.x).
Then you might need to:
- Remove old mongodb first.
- Remove old data, WARNING: this may cause data lose.
e.gsudo rm -r /var/lib/mongodb
- Remove init script.
e.gsudo rm /etc/init.d/mongodb
- Then re-install new mongodb, (e.g 4.x)
Refer: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ - Then start with
sudo service mongod start
. - Then check status with
sudo service mongod status
.
Tips:
- Don't use
sudo service mongodb start
, there is an extrab
, that's for old mongodb, that's why we dosudo rm /etc/init.d/mongodb
. - Backup your old data before remove it.
Solution 30:[30]
sudo systemctl unmask mongod
The above command worked for me!
sudo service mongod start
Try starting the service it after unmasking it
sudo systemctl status mongod
Check the status using the above command or simply start the mongodb server using mongo command, I hope it works. Cheers
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow