数据库

 首页 > 数据库 > MongoDB > MongoDB 集群启动带安全认证adduser时报错的解决办法

MongoDB 集群启动带安全认证adduser时报错的解决办法

分享到:
【字体:
导读:
         摘要:Mongodb集群启动带安全认证,adduser时报错在useadmin后。添加用户db.addUser(admin,123456)时由于其他节点还没有admin用户,并且还是用-keyFile参数,需要权限认证。造成第一次无法,创建用户。现象如下switchedtodbadmin{user:admin...

MongoDB 集群启动带安全认证adduser时报错的解决办法

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 

MongoDB 集群启动带安全认证adduser时报错的解决办法
分享到:
MongoDB命令和SQL语句语法的对比
MongoDB命令和SQL语句语法的对比 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现...
MongoDB集群节点故障如何恢复
MongoDB集群节点故障如何恢复 一个适当配置的Mongodb分片集群是没有单点故障。 本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的。1、Mongos节点宕机一个Mongos进程应该运行在每一个应用程序服务器上,这个服务器应该独占这个Mongos进程,并且通过它与分片集群来通讯。 Mo...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……