[英]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.