2 added more detail
source | link

EDIT 1:

I have re-installed mongodb using instructions described here; it is now on its latest version:

mongod --version
    db version v3.4.7
    git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
    OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
    allocator: tcmalloc
    modules: none
    build environment:
        distmod: ubuntu1604
        distarch: x86_64
        target_arch: x86_64

I have added authentication again; my /lib/systemd/system/mongod.service is now this:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

And this is my /etc/mongod.conf:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

security:
  auth: true

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

User add process was successful:

> use admin
switched to db admin
> db.createUser(
...   {
...     user: "myUserAdmin",
...     pwd: "abc123",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
    "user" : "myUserAdmin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

I have reloaded systemctl and restarted mongod service, but mongod service still fails to start. I don't have --quiet option, but there is no log in the /var/log/mongodb/mongod.log file. This is what service mongod status returns:

service mongod status
● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2017-08-09 16:12:42 IRDT; 1min 0s ago
     Docs: https://docs.mongodb.org/manual
  Process: 2030 ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf (code=exited, status=2)
 Main PID: 2030 (code=exited, status=2)

Aug 09 16:12:42 ZiZi systemd[1]: Stopped High-performance, schema-free document-oriented database.
Aug 09 16:12:42 ZiZi systemd[1]: Started High-performance, schema-free document-oriented database.
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Unit entered failed state.
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Failed with result 'exit-code'.

It implies that I have an INVALIDARGUMENT which I can't detect. Any help?

EDIT 1:

I have re-installed mongodb using instructions described here; it is now on its latest version:

mongod --version
    db version v3.4.7
    git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
    OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
    allocator: tcmalloc
    modules: none
    build environment:
        distmod: ubuntu1604
        distarch: x86_64
        target_arch: x86_64

I have added authentication again; my /lib/systemd/system/mongod.service is now this:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

And this is my /etc/mongod.conf:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

security:
  auth: true

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

User add process was successful:

> use admin
switched to db admin
> db.createUser(
...   {
...     user: "myUserAdmin",
...     pwd: "abc123",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
    "user" : "myUserAdmin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

I have reloaded systemctl and restarted mongod service, but mongod service still fails to start. I don't have --quiet option, but there is no log in the /var/log/mongodb/mongod.log file. This is what service mongod status returns:

service mongod status
● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2017-08-09 16:12:42 IRDT; 1min 0s ago
     Docs: https://docs.mongodb.org/manual
  Process: 2030 ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf (code=exited, status=2)
 Main PID: 2030 (code=exited, status=2)

Aug 09 16:12:42 ZiZi systemd[1]: Stopped High-performance, schema-free document-oriented database.
Aug 09 16:12:42 ZiZi systemd[1]: Started High-performance, schema-free document-oriented database.
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Unit entered failed state.
Aug 09 16:12:42 ZiZi systemd[1]: mongod.service: Failed with result 'exit-code'.

It implies that I have an INVALIDARGUMENT which I can't detect. Any help?

1
source | link

mongodb service won't start after adding admin user in ubuntu 16.04

I have an ubuntu 16.04 and I have installed mongodb on it yesterday with sudo aptitude install mongodb; it worked very well at start. I decided to add authentication info to mongodb, so I opened a session to it writing mongo in the shell and I entered these commands:

use admin
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

It said that user has been added successfully. I entered exit to set configurations in order to use authentication while starting service. I edited vim /lib/systemd/system/mongod.service; it now contains:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --auth 

[Install]
WantedBy=multi-user.target

I entered systemd daemon-reload in the shell after that, then service mongod restart; but unfurtunately mongodb never started. When I try to connect to mongo using command mongo -u admin -p admin123 --authenticationDatabase admin, it shows me:

mongo -u admin -p admin123 --authenticationDatabase admin
MongoDB shell version: 2.6.10
connecting to: test
2017-08-08T10:37:52.751+0430 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2017-08-08T10:37:52.751+0430 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

It's saying no server is running (connect failed); additionally I don't know why it's trying to connect to test while I'm inserting admin?! However command systemctl status mongodb shows following:

● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2017-08-07 16:02:30 IRDT; 18h ago
     Docs: man:mongod(1)
 Main PID: 11367 (code=exited, status=0/SUCCESS)

Aug 07 15:33:14 ZiZi systemd[1]: Started An object/document-oriented database.
Aug 07 16:02:30 ZiZi systemd[1]: Stopping An object/document-oriented database...
Aug 07 16:02:30 ZiZi systemd[1]: Stopped An object/document-oriented database.

No log is written in file /var/log/mongodb/mongodb.log.

When I enter ExecStart in the shell, I can successfully start mongo:

    sudo /usr/bin/mongod --quiet --auth 
2017-08-08T10:53:27.358+0430 [initandlisten] MongoDB starting : pid=29830 port=27017 dbpath=/data/db 64-bit host=ZiZi
2017-08-08T10:53:27.359+0430 [initandlisten] db version v2.6.10
2017-08-08T10:53:27.359+0430 [initandlisten] git version: nogitversion
2017-08-08T10:53:27.359+0430 [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-08-08T10:53:27.359+0430 [initandlisten] build info: Linux lgw01-12 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 BOOST_LIB_VERSION=1_58
2017-08-08T10:53:27.359+0430 [initandlisten] allocator: tcmalloc
2017-08-08T10:53:27.359+0430 [initandlisten] options: { security: { authorization: "enabled" }, systemLog: { quiet: true } }
2017-08-08T10:53:27.360+0430 [initandlisten] journal dir=/data/db/journal
2017-08-08T10:53:27.360+0430 [initandlisten] recover : no journal files present, no recovery needed
2017-08-08T10:53:27.431+0430 [initandlisten] waiting for connections on port 27017