我有一个有点恼人的问题,应该是微不足道的,但我想不出来。我在Ubuntu Linux系统(Focal)上运行;我有一个启用了身份验证的mongo (版本5.0.3)数据库。我找不到一个命令行,可以将我放入我想要的数据库的mongo shell中。有没有人能借给我点线索?
如果我发出命令mongosh -u mongoAdmin -p '<password>' mongodb://127.0.0.1/
,我就会使用测试数据库进入mongo shell。要访问我的数据库db-name,我需要发出命令use db-name
。
如果我发出命令mongosh -u mongoAdmin -p '<password>' mongodb://127.0.0.1/db-name
,我会得到一条错误消息:
Current Mongosh Log ID: 617d0f78622b00d5095d474d
Connecting to: mongodb://127.0.0.1/db-name?directConnection=true&serverSelectionTimeoutMS=2000
MongoServerError: Authentication failed.
我在admin数据库中配置的用户:
[
{
_id: 'admin.mongoAdmin',
userId: UUID("6dbdd918-02c4-4000-b5e4-ff59db9f86ed"),
user: 'mongoAdmin',
db: 'admin',
roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
发布于 2021-11-12 02:36:09
缺少的部分是我需要在命令行上指定身份验证数据库。此命令有效:
mongosh mongodb://127.0.0.1/db-name -u mongoAdmin -p '<password>' --authenticationDatabase admin
https://stackoverflow.com/questions/69778370
复制相似问题