helpper
helpper

Reputation: 2566

How to run Mongodb as a service with authentication on a windows machine

remark: I am using win10. My goal is when windows boot mongodb as a service with authentication start( you can not enter the database without authenticate) but I can not manage to do it on a windows machine ( in linux it worked) I write here the steps I tried:

  1. dowlnload MongoDB

  2. change conf from default to the following

# mongod.conf
  http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: C:\MongoDB\Server\4.0\data
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  C:\MongoDB\Server\4.0\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

security:
    authorization: enabled
setParameter:
   enableLocalhostAuthBypass: false

  1. create a Admin user in the Admin collection.

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

  1. Made it a service:
sc.exe create MongoDB 
binPath=“\”C:\MongoDB\Server\4.0\bin\mongod.exe\” 
–service
config=\”C:\MongoDB\Server\4.0\bin\mongod.cfg\”” DisplayName= “MongoDB” start= “auto”

getting feedback Successful. but when i restart the computer, mongod is not starting and if i dont specify mongod --auth i can still enter without a authentication How can I run Mongod as service with authentication? what am i doing wrong? When i am trying to activate the service manually I get the following error Error photo

Upvotes: 2

Views: 5908

Answers (2)

Charles G
Charles G

Reputation: 1381

I had the same issue.

In your mongodb.cfg, use 2 spaces (instead of TAB) to indent authorization: enabled

Upvotes: 3

Atul
Atul

Reputation: 3347

The issue with the security tag. I have the same issue when I wanted to start the service in Windows 10. I copy the command from Windows service properties and then run on the command prompt.

The prompt shows me the error:

Unrecognized category : security

I found the solution and it is to write the security tag with options properly.

YAML need some specific input I guess. Here it is the solution.

security:
    authorization: enabled

Upvotes: 3

Related Questions