我最近在配置如下的Windows 2016服务器之一上安装了mongodb并以
的身份运行mongodmongod --config C:\ mongo_db \ config \ mongo_db_configuration.conf --auth
--config file
net:
# MongoDB server listening port
#bindIp: 0.0.0.0,192.168.43.250
port: 27017
bindIpAll: true
storage:
# Data store directory
dbPath: "C:\\mongo_db\\db"
mmapv1:
# Reduce data files size and journal files size
smallFiles: true
systemLog:
# Write logs to log file
destination: file
path: "C:\\mongo_db\\logs\\mongodb.log"
security:
authorization: enabled
我们已经在管理数据库中创建了root用户
MongoDB Enterprise > db.runCommand({connectionStatus:1})
{
"authInfo" : {
"authenticatedUsers" : [
{
"user" : "root",
"db" : "admin"
}
],
"authenticatedUserRoles" : [
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "root",
"db" : "admin"
}
]
},
"ok" : 1
}
我能够本地连接到mongod实例(mongo --port 27017 -u "root" -p "12345" --authenticationDatabase admin
),但是远程连接时出错。服务器防火墙已禁用。
"C:\Mongodb>mongo.exe 192.168.0.171:27017/admin -u root -p 12345
MongoDB shell version v4.0.4
connecting to: mongodb://192.168.0.171:27017/admin
Implicit session: session { "id" : UUID("c68e9dd5-6f7b-4356-bc3e-688a7e2b3e1d") }
MongoDB server version: 4.0.4
2018-11-26T23:50:47.534+0800 E QUERY [js] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1685:20
@(auth):6:1
@(auth):1:2
exception: login failed"
答案 0 :(得分:1)
当我遇到同样的问题时,我偶然发现了这一点。我从MongoDB Shell版本v3.6.9连接到MongoDB服务器版本4.2.6。如果其他人像我一样发现了这个问题,则可以使用以下语法:
long
答案 1 :(得分:0)
我的虚拟机也遇到类似的问题。我有2个Linux和1个Windows计算机(它们远程连接到Windows计算机)。假设Linux A具有带有凭据的mongo。当我尝试从Windows计算机登录时,遇到了您提到的相同错误。
但是,当我将mongo从linux B连接到linux A时,我可以使用以下命令从shell成功连接:
mongo --host 192.168.1.6 --port 27017 -u username -p 'pwd'
我也从Windows使用完全相同的命令,但是以某种方式无法登录。也许此命令可以在您的环境中运行,但也要等待适当的解决方案。