Mongodb – How to run mongod from the commandline

mongodb-3.4

How do you manually run mongod from the commandline, so it outputs all logging directly in your terminal?

I'm trying to diagnose a crashing Mongo 3.4.11 database on Ubuntu 16. When I try and start it via sudo service mongodb start it says:

Job for mongodb.service failed because the control process exited with error code. See "systemctl status mongodb.service" and "journalctl -xe" for details.

However, systemctl status mongodb.service gives me an equally useless message:

● mongodb.service - LSB: An object/document-oriented database
   Loaded: loaded (/etc/init.d/mongodb; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-02-07 20:32:17 UTC; 26s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2392 ExecStop=/etc/init.d/mongodb stop (code=exited, status=0/SUCCESS)
  Process: 2913 ExecStart=/etc/init.d/mongodb start (code=exited, status=1/FAILURE)

Feb 07 20:32:16 proddb1 systemd[1]: Starting LSB: An object/document-oriented database...
Feb 07 20:32:16 proddb1 mongodb[2913]:  * Starting database mongodb
Feb 07 20:32:17 proddb1 mongodb[2913]:    ...fail!
Feb 07 20:32:17 proddb1 systemd[1]: mongodb.service: Control process exited, code=exited status=1
Feb 07 20:32:17 proddb1 systemd[1]: Failed to start LSB: An object/document-oriented database.
Feb 07 20:32:17 proddb1 systemd[1]: mongodb.service: Unit entered failed state.
Feb 07 20:32:17 proddb1 systemd[1]: mongodb.service: Failed with result 'exit-code'.

Nothing's written to the log at /var/log/mongodb/mongodb.log.

I tried manually launching the daemon via:

sudo -u mongodb /usr/bin/mongod --config /etc/mongod.conf

but after a few seconds, this simply returned with:

Aborted (core dumped)

Best Answer

Because nothing is written to log file, the first (and only) problem is (probably) ownership of log file. Usermongodb don't have access to that file. sudo chown -R mongodb: /var/log/mongodb should fix that.

What comes to the original question of how to run mongod at the command line and see what is happening, you have two choices. First is comment out (from config file) line what orders mongod to fork itself to background. Second possibility is check from config file, what parameters you need (like dbPath) and then replace that --config with those command line parameters. You can see list of command line parameters with mongod --help command