首页 > 解决方案 > 无法通过终端使用身份验证数据连接 mongodb

问题描述

Mongo 版本 5.0.2。Ubuntu 20.0

我在本地主机中启用了 MongoDB 连接的安全性。我正在尝试通过以下命令使用身份验证详细信息连接我的本地主机 MongoDB

mongo admin -u ADMIN_1234 -p "PASSWORD_1234" -host localhost:27017

mongo admin -u ADMIN_1234 -p "PASSWORD_1234" -host 127.0.0.1:27017

mongo admin -u ADMIN_1234 -p "PASSWORD_1234"

mongo admin -u ADMIN_1234 -p PASSWORD_1234 -host localhost:27017

mongo admin -u ADMIN_1234 -p PASSWORD_1234 -host 127.0.0.1:27017

mongo admin -u ADMIN_1234 -p PASSWORD_1234

但在错误之下,我得到了所有上述命令。无法连接到mongodb

connecting to: mongodb://localhost:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server localhost:27017, connection attempt failed: SocketException: Error connecting to localhost:27017 (127.0.0.1:27017) :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:372:17
@(connect):2:6
exception: connect failed
exiting with code 1

标签: mongodbubuntuterminalmongo-shell

解决方案


用户要么-u要么--username。因为host你只有长版本,即-h不存在,它用于“帮助”。使用其中之一(我更喜欢localhost而不是127.0.0.1):

mongo -u ADMIN_1234 -p PASSWORD_1234 localhost:27017/admin
mongo -u ADMIN_1234 -p PASSWORD_1234 --authenticationDatabase admin localhost:27017
mongo -u ADMIN_1234 -p PASSWORD_1234 --host localhost --authenticationDatabase admin 
mongo -u ADMIN_1234 -p PASSWORD_1234 --host localhost --port 27017 --authenticationDatabase admin 

或使用连接字符串 URI

mongo "mongodb://ADMIN_1234:PASSWORD_1234@localhost:27017/admin"

推荐阅读