作者:dsgfg | 来源:互联网 | 2014-05-28 16:53
Mongodb集群启动带安全认证,adduser时报错在useadmin后。添加用户db.addUser(admin,123456)时由于其他节点还没有admin用户,并且还是用-keyFile参数,需要权限认证。造成第一次无法,创建用户。现象如下switchedtodbadmin{user:admin
Mongodb 集群启动带安全认证,adduser时报错
在use admin 后。添加用户 db.addUser("admin","123456")时
由于其他节点还没有admin用户,并且还是用-keyFile参数,需要权限认证。造成第一次无法,创建用户。
现象如下
switched to db admin
{
"user" : "admin",
"readOnly" : false,
"pwd" : "dfb2b4f665d248c6887cfba7b1f0c9fc",
"_id" : ObjectId("50b41bb41e7bf4084c43a793")
}
Tue Nov 27 09:47:32 uncaught exception: couldn't add user:
SyncClusterConnection::insert prepare failed: 10.200.7.106:10021:{
errmsg: "need to login", ok: 0.0 } 10.200.7.221:10021:{ errmsg:
"need to login", ok: 0.0 } 10.200.7.226:10021:{ errmsg: "need to
login", ok: 0.0 }
解决办法。第一次启动时不要加-keyFile参数。启动后首先创建admin用户。然后停止所有节点。
添加-keyFile参数。再启动集群。便可。
./bin/mongod -shardsvr -replSet shard1 -port 10020 -dbpath
data/shard1a -keyFile /data/support/mongodb-2.2.1/mongokey
-oplogSize 100 -logpath logs/shard1a.log -logappend -fork -rest
--nojournal