簡體   English   中英

無法在啟用身份驗證的情況下連接到MongoDB

[英]Can't connect to MongoDB with authentication enabled

我正在為Ubuntu 14.04運行最新的MongoDB

  • 我創建了一個名為“admin”的用戶,其中包含“userAdminAnyDatabase”角色
  • 我可以在本地和外部訪問數據庫
  • 我可以使用帶有SHA-SCRAM-1的“admin”登錄

當我編輯配置文件以限制只有身份驗證的訪問時出錯。 怎么了:

  1. 我在配置文件中取消注釋“#auth = true”。
  2. 我無法使用“admin”帳戶的正確憑據進行訪問。

請記住,我在進行更改后會使用“service mongod restart”。

配置文件供參考:

# 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: 0.0.0.0


#processManagement:

#security:
#auth = true
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:
#snmp:

數據庫快照供參考:

數據庫

出了什么問題?

我認為auth = true是一個無效的配置,你的mongod因為它沒有啟動。 要啟用授權 ,請嘗試使用以下代碼:

security:
  authorization: enabled

然后,要連接到數據庫,請確保您的客戶端使用正確的身份驗證數據庫和身份驗證機制 這可以通過以下命令使用命令行完成:

mongo localhost -u admin -p myAdminPass --authenticationDatabase admin --authenticationMechanism SCRAM-SHA-1
  1. 您是否按照啟用客戶端訪問控制中的說明創建用戶並啟用身份驗證?

  2. 當您嘗試使用憑據訪問mongoDB時,日志的輸出是什么?

  3. 你有沒有告訴mongoDB使用配置文件? 嘗試在PC上本地啟動mongoDB mongoDB使用mongod --config ../etc/mongod.conf運行,然后像以前一樣嘗試從Windows PC連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM