摘要:轉(zhuǎn)載解決命名執(zhí)行時報無權(quán)限的問題原文地址解決命名執(zhí)行時報無權(quán)限的問題問題描述今天在執(zhí)行命令時給出了的錯誤提示。通過查詢的權(quán)限已經(jīng)是的權(quán)限了,然后又陸續(xù)賦予了等權(quán)限,問題仍舊存在。問題處理經(jīng)過查詢表表可知,需要為用戶賦予角色才能執(zhí)行命令。
轉(zhuǎn)載:解決db.serverStatus()命名執(zhí)行時報無權(quán)限的問題
原文地址:解決db.serverStatus()命名執(zhí)行時報無權(quán)限的問題
1、問題描述
今天在執(zhí)行db.serverStatus()命令時給出了“ "errmsg" : "not authorized on admin to execute command { serverStatus: 1.0 }",”的錯誤提示。
通過查詢admin的權(quán)限已經(jīng)是dbOwner的權(quán)限了,然后又陸續(xù)賦予了dbadmin等權(quán)限,問題仍舊存在。
最后找到了Mongodb的權(quán)限列表,賦予了root權(quán)限終于可以把問題給解決了,然后又測試了其他幾個權(quán)限都不可以,這說明db.serverStatus是服務(wù)器級別的命令,需要mongodb的最高權(quán)限才能執(zhí)行。
下面是問題處理的簡單流程,分享給大家,以供參考。
2、錯誤內(nèi)容
[root@ggnode2 ~]# mongo 10.130.170.112:27017/admin -u admin -p MongoDB shell version: 3.2.8 Enter password: connecting to: 10.130.170.112:27017/admin MongoDB Enterprise > MongoDB Enterprise > db.serverStatus() { "ok" : 0, "errmsg" : "not authorized on admin to execute command { serverStatus: 1.0 }", "code" : 13 }
3、錯誤分析
從得到的錯誤內(nèi)容可知,是由于admin沒有執(zhí)行db.serverStatus()命令的權(quán)限。
MongoDB Enterprise > use admin switched to db admin MongoDB Enterprise > show collections system.users system.version MongoDB Enterprise > db.system.users.find() { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "BEN7SONYkewFMx3f67FNQw==", "storedKey" : "HjlvcjSpXpSKetcUbJyj350Xgjk=", "serverKey" : "k2WEf2cHGgg9n3tyEMJyuKaRt3U=" } }, "roles" : [{ "role" : "dbOwner", "db" : "admin" } ] }
根據(jù)查詢結(jié)果可知,admin擁有dbOwner角色權(quán)限,而執(zhí)行db.serverStatus()命令需要root角色權(quán)限。
4、問題處理:
經(jīng)過查詢表system.users表可知,需要為admin用戶賦予root角色才能執(zhí)行db.serverStatus()命令。
賦予角色權(quán)限的操作命令如下:
授予角色權(quán)限MongoDB Enterprise > db.grantRolesToUser( "admin" , [ { role: "root", db: "admin" } ]) MongoDB Enterprise >取消角色權(quán)限
MongoDB Enterprise > db.revokeRolesFromUser( "admin" , [ { role: "root", db: "admin" } ] MongoDB Enterprise >
5、問題解決
賦予root角色權(quán)限之后,再執(zhí)行db.serverStatus()命令就OK了,執(zhí)行結(jié)果如下:
MongoDB Enterprise > db.serverStatus()
MongoDB shell version: 3.2.8
connecting to: 10.130.170.112:27017/admin
{
"host" : "ggnode2", "advisoryHostFQDNs" : [ ], "version" : "3.2.8", "process" : "mongod", "pid" : NumberLong(23155), "uptime" : 1470624, "uptimeMillis" : NumberLong(1470624043), "uptimeEstimate" : 1415522, "localTime" : ISODate("2016-11-07T04:13:33.328Z"), "asserts" : { "regular" : 0, "warning" : 0, "msg" : 0, "user" : 62, "rollovers" : 0 }, "connections" : { "current" : 1, "available" : 818, "totalCreated" : NumberLong(6025) }, "extra_info" : { "note" : "fields vary by platform", "heap_usage_bytes" : 60437840, "page_faults" : 28 }, "globalLock" : { "totalTime" : NumberLong("1470624234000"), "currentQueue" : { "total" : 0, "readers" : 0, "writers" : 0 }, "activeClients" : { "total" : 8, "readers" : 0, "writers" : 0 } }, "locks" : {
… …
"storage" : { "freelist" : { "search" : { "bucketExhausted" : NumberLong(0), "requests" : NumberLong(0), "scanned" : NumberLong(0) } } }, "ttl" : { "deletedDocuments" : NumberLong(0), "passes" : NumberLong(24508) } }, "ok" : 1
}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19290.html
摘要:默認(rèn)關(guān)閉服務(wù)刪除用戶刪除用戶需要權(quán)限,會將所有數(shù)據(jù)庫中的用戶刪除刪除用戶權(quán)限要求沒有那么高,只刪除本數(shù)據(jù)中的用戶查詢所有用戶啟動報錯解決在系統(tǒng)上安裝之后報錯。另外,用戶信息保存在中。比如數(shù)據(jù)庫和都有用戶,以登錄后不能夠登錄到進(jìn)行數(shù)據(jù)庫操作 Centos 7 [mongodb-org] name=MongoDB Repository baseurl=http://mirrors.aliy...
摘要:查詢連接數(shù)通過連接實(shí)例,執(zhí)行命令說明您需要關(guān)注以下參數(shù)及對應(yīng)的值。當(dāng)前可用的連接數(shù)。查詢當(dāng)前連接來源通過連接實(shí)例,切換至數(shù)據(jù)庫。如何限制終端的連接數(shù)云數(shù)據(jù)庫支持通過登錄數(shù)據(jù)庫。通過登錄數(shù)據(jù)庫時,在末尾加上即可設(shè)置連接池的連接數(shù)。MongoDB查詢連接數(shù)通過 Mongo Shell 連接實(shí)例,執(zhí)行命令db.serverStatus().connections mgset-123456:PRIM...
摘要:自定義提示你可以通過在中設(shè)置變量來修改提示的內(nèi)容變量可以保存字符串以及代碼如果包含返回字符串的函數(shù)可以在每個提示中顯式動態(tài)信息你可以在文件中添加提示的邏輯以便在你每次啟動的時候進(jìn)行提示自定義提示去顯示操作的數(shù)量例如創(chuàng)建一個在當(dāng)前會話中顯示帶 自定義提示 你可以通過在 mongo shell 中設(shè)置變量 prompt 來修改提示的內(nèi)容. prompt 變量可以保存字符串以及 JavaSc...
摘要:集合名命名規(guī)范集合名不能是空字符串。集合名不能含有字符空字符,這個字符表示集合名的結(jié)尾。集合名不能以開頭,這是為系統(tǒng)集合保留的前綴。有些驅(qū)動程序的確支持在集合名里面包含,這是因?yàn)槟承┫到y(tǒng)生成的集合中包含該字符。 原始文章鏈接 - 我的博客:http://www.lovebxm.com/2017/0... MongoDB - 簡介 官網(wǎng):https://www.mongodb.com/ ...
摘要:本文旨在梳理這些問題,進(jìn)行一個全面的分析。等到進(jìn)行數(shù)據(jù)庫操作的時候,再去中獲取一個連接,進(jìn)行操作總結(jié)通過以上分析,對于以下的數(shù)據(jù)庫連接池與關(guān)系型數(shù)據(jù)庫連接池并無區(qū)別。 摘要 在前面的文章中有分析過關(guān)系型數(shù)據(jù)庫的連接,以及連接池的原理。在mongo數(shù)據(jù)庫同樣存在,經(jīng)??吹接芯W(wǎng)友在問mongo 連接了數(shù)據(jù)庫要不要關(guān),怎么關(guān)。內(nèi)置的數(shù)據(jù)庫連接池是單線程還是多線程,mongo服務(wù)器為什么會殺游...
閱讀 3000·2023-04-25 19:45
閱讀 2726·2021-11-19 09:40
閱讀 725·2021-10-14 09:49
閱讀 2814·2021-09-30 09:47
閱讀 2295·2021-09-26 09:55
閱讀 1257·2021-09-22 16:01
閱讀 2834·2019-08-30 14:19
閱讀 730·2019-08-29 16:44