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