0
我正在設置一個Mongo測試分片,並希望使用Mongo用戶身份驗證。我已經將用戶添加到配置服務器上。我不確定是否需要在所有碎片上添加相同的用戶。我假設我不需要在查詢路由器(mongos)上添加用戶。但是,當我簡單地將用戶添加到配置服務器(通過Mongo shell)時,如果我留在shell中,我可以進行身份驗證。但是,只要我退出shell並重新登錄,我就無法使用相同的憑據重新登錄。碎片服務器確實有一個與它們相關的數據目錄,就像配置服務器一樣。有關如何進一步解決問題的任何想法?用mongo分片進行身份驗證
創建用戶
db.createUser({ user: "test",
pwd: "testPassword",
roles: [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"] },
{ w: "majority" , wtimeout: 5000 })
認證
db.auth("test", "testPassword")
我沒有指定配置服務器的數據目錄(端口27019上運行,而不是27017 &數據目錄具有正確的mongo進程的權限)。
mongod --configsvr --dbpath /var/lib/mongodb3 --port 27019