1

Following this guide to install mongodb but mongo just doesn't want to start.

When running sudo systemctl status mongodb It just shows Active: failed (Result: exit-code). There's no useful output in this. How do I find out why is it not starting?

Edit:

output of ls -al /etc/systemd/system/mongodb.service

-rw-r--r-- 1 root root 220 Feb 17 23:59 /etc/systemd/system/mongodb.service

output of cat /etc/systemd/system/mongodb.service

[Unit]
Description=High-performance, schema-free document-oriented >database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

output of mongod

2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] MongoDB starting : pid=6617 port=27017 dbpath=/data/db 64-bit host=sherrie-HP-Pavilion-x360-m3-Convertible
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] db version v3.2.12
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] git version: ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] modules: none
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] build environment:
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten]     distarch: x86_64
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten]     target_arch: x86_64
2017-02-18T10:19:55.072+0200 I CONTROL  [initandlisten] options: {}
2017-02-18T10:19:55.137+0200 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-02-18T10:19:55.155+0200 I STORAGE  [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2017-02-18T10:19:55.155+0200 I CONTROL  [initandlisten] dbexit:  rc: 100
  • You followed ALL of the instructions at the link you provided, yes? Check that you properly created mongodb.service and it has the proper file permissions/ownership (644 root root) on it, and issued the sudo systemctl start mongodb command. Then do the sudo systemctl status mongodb command again, and edit your question to show us the output. – heynnema Feb 18 '17 at 1:35
  • @heynnema did everything except the permissions part. Can you tell me how exactly should I change permissions? Of what files? I'm not good with the permissions thing. Unfortunately the computer with the problem is not mine so I can't show outputs at the moment. thx – Mina Michael Feb 18 '17 at 2:21
  • Edit your question to include the output, from terminal, of ls -al /etc/systemd/system/mongodb.service and cat /etc/systemd/system/mongodb.service – heynnema Feb 18 '17 at 2:24
  • @heynnema like I said, I currently don't have the device with the problem. It's for a friend. I'll try to show the output as soon as we meet. ...To what files should I do permission changes? How? – Mina Michael Feb 18 '17 at 2:27
  • Until I see the output of those four commands, I can't tell you. – heynnema Feb 18 '17 at 2:34
7

Just a simple reinstall worked.

sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt update
sudo apt-get install -y mongodb-org

and double-check the config file:

sudo nano /etc/systemd/system/mongodb.service

paste this:

[Unit]
Description=High-performance, schema-free document-oriented >database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

finally

sudo systemctl start mongodb
sudo systemctl enable mongodb

also I think I changed the permissions of the log file to 777

  • You should probably cat /etc/apt/sources.list.d/mongodb-org-3.2.list and make sure it doesn't have the deb line twice. If so, you'll need to edit it gksudo gedit /etc/apt/sources.list.d/mongodb-org-3.2.list – heynnema Feb 18 '17 at 13:06
  • it looks fine. thx @heynnema – Mina Michael Feb 20 '17 at 3:58
  • 1
    For me it was that the permissions of the log file were for root, and not for my mongodb user/group. – Cryptite Feb 28 '18 at 17:45
  • 1
    I didnt even have the file sudo nano /etc/systemd/system/mongodb.service in spite of having followed the official installation instructions exactly. Creating it and pasting did the trick. No way I would have figured that out own my own. – Thoughtcraft Nov 12 '18 at 18:03

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.