【DDS】Linux實例使用Mongo Shell登錄MongoDB數據庫提示“Authentication failed”錯誤
問題現象
linux實例使用Mongo Shell登錄MongoDB數據庫,提示以下錯誤:
MongoDB shell version: 3.2.3
connecting to: 10.X.X.8:3717/test
2016-05-31T15:50:18.623+0800 E QUERY Error: 18 Authentication failed.
at DB._authOrThrow (src/mongo/shell/db.js:1271:32)
at (auth):6:8
at (auth):7:2 at src/mongo/shell/db.js:1271
exception: login failed
問題分析
鑒權失敗可能是以下原因所導致:
1、登錄數據庫的用戶名或密碼錯誤;
2、連接地址不正確、網絡不暢通、安全組未放通等導致數據庫網絡無法連接;
3、MongoDB的帳號和鑒權數據庫不匹配;
4、linux實例內Mongo Shell客戶端版本過低。
解決方案
針對以上原因,解決方案為:
1、檢查用戶名和密碼,確保使用正確的數據庫用戶名和密碼登錄。如果忘記密碼,可以在MongoDB管理控制臺中重置root用戶的數據庫密碼。
2、請檢查連接地址的正確性、網絡暢通情況、安全組是否放通后再進行重試,文檔數據庫服務安全組修改參考鏈接:https://support.huaweicloud.com/usermanual-dds/dds_03_change_security_group.html
3、MongoDB的帳號和數據庫關聯,鑒權時需要指定帳號所屬的數據庫信息。例如,test帳號屬于admin數據庫,使用test連接時,必須指定鑒權數據庫為admin,可執行以下任意命令登錄:
mongo --host [$Mongodb_Host] --port [$Port] -u test -p test --[$Database] admin
mongo --host [$Mongodb_Host] --port [$Port]
use admin
db.auth("test", "test")
說明:
[$Mongodb_Host]:MongoDB數據庫的服務器地址。
[$Port]:數據庫服務的端口號,默認為8635。
[$Database]:鑒權數據庫名,即數據庫賬號所屬的數據庫。
4、Mongo Shell版本必須3.0及以上的版本,安裝步驟請參見官方文檔:https://docs.mongodb.com/v3.4/installation/?spm=a2c4g.11186623.2.8.656e5d91AevVV8
建議
1、客戶端連接時,如果不使用SSL方式連接,建議關閉SSL;
2、客戶端連接時,建議連接類型為直接連接(Direct Connection)。
數據庫 網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。