我正在设置Mongo测试分片,并希望使用Mongo用户身份验证。我在配置服务器上添加了用户。我不确定是否需要在所有分片上添加相同的用户。我假设我不需要在查询路由器(mongos)上添加用户。但是,当我只是在配置服务器上添加用户(通过Mongo shell)时,如果我留在shell中,我可以进行身份验证。但是,只要我退出shell并重新登录,我就无法使用相同的凭据重新登录。分片服务器确实有一个与它们相关联的数据目录,配置服务器也是如此。有关如何进一步排除故障的任何想法?
创建用户
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
答案 0 :(得分:0)
一旦mongo集群正确设置(查询路由器连接到配置服务器和分片与副本集& config serers / shards写入磁盘),我只需通过查询路由器添加用户并获得身份验证Mongo Java驱动程序