[英]MongoDB Error: “not authorized for query on admin.system.users”
[英]MongoDB not authorized for query admin.system.users
我对 MongoDb 有点陌生,我正在使用 MongoDb v.2.4。这里的问题是,当我使用 --auth 参数运行 mongod 时,即使经过身份验证,我也无法执行诸如“显示用户”之类的简单操作。 但是如果我在没有 --auth 参数的情况下运行 mongod 就可以了。
> use admin
switched to db admin
> db.auth("dbadmin","mypassword")
1
> show users
**Thu Feb 27 16:50:17.695 error: { "$err" : "not authorized for query on admin.sys
tem.users", "code" : 16550 } at src/mongo/shell/query.js:128**
> use admin
switched to db admin
> db.grantRolesToUser("your_admin_name" ,[ "root"])
此命令将以管理员身份授予您对任何数据库的所有权限。
我认为你的管理员用户没有像 mongo 所说的那样配置。
我刚刚在另一个线程中回答了一个问题,并逐步进行了解释: 未授权在 mongodb 上查询 admin.system.namespaces
尝试一下。
不是为了 OP,而是为了那些在互联网上搜索到的人
Failed: error counting admin.system.users: not authorized on admin to execute command { count: "system.users", query: {}, $db: "admin" }
答案很可能是您需要在连接字符串中指定数据库名称。 例如,就我而言,我正在做一个mongorestore
,就像这样
mongorestore --uri=mongodb+srv://[username]:[password]@[mongo-server] --dir=[backup-file]
我需要做的是
mongorestore --uri=mongodb+srv://[username]:[password]@[mongo-server]/[database-name] --dir=[backup-file]
同样的事情也适用于mongodump
。 关键是它默认尝试连接到admin
数据库,而这可能不是您想要做的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.