Command failed with error 18 (AuthenticationFailed): ‘Authentication failed.’

先說原因

MongoDB中每個(gè)數(shù)據(jù)庫之間是相互獨(dú)立的,都有獨(dú)立的權(quán)限,正確的做法是使用root賬號(hào)在【將要操作的數(shù)據(jù)庫】中創(chuàng)建一個(gè)【子賬號(hào)】,在用這個(gè)子賬號(hào)連接mongo:

https://blog.csdn.net/qq_35893120/article/details/100142232/

db.createUser詳解

語法:
db.createUser(user, writeConcern)
user這個(gè)文檔創(chuàng)建關(guān)于用戶的身份認(rèn)證和訪問信息;
writeConcern這個(gè)文檔描述保證MongoDB提供寫操作的成功報(bào)告。

· user文檔,定義了用戶的以下形式:
{ user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}

user文檔字段介紹:
user字段,為新用戶的名字;
pwd字段,用戶的密碼;
cusomData字段,為任意內(nèi)容,例如可以為用戶全名介紹;
roles字段,指定用戶的角色,可以用一個(gè)空數(shù)組給新用戶設(shè)定空角色;
在roles字段,可以指定內(nèi)置角色和用戶定義的角色。

Built-In Roles(內(nèi)置角色):
1. 數(shù)據(jù)庫用戶角色:read、readWrite;
2. 數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復(fù)角色:backup、restore;
5. 所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級(jí)用戶角色:root  
// 這里還有幾個(gè)角色間接或直接提供了系統(tǒng)超級(jí)用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內(nèi)部角色:__system
PS:關(guān)于每個(gè)角色所擁有的操作權(quán)限可以點(diǎn)擊上面的內(nèi)置角色鏈接查看詳情。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容