Mongodb 集群配置用户名密码认证
2016-11-03 00:00
399 查看
Mongodb集群配置登录认证跟单节点的不一样,本文主要介绍一下配置的流程
1. 启动mongodb集群,不开启auth,配置admin数据库用户
2. 停止mongodb集群
3. 在其中一个replica 节点上,配置 keyfile,keyfile用于各个节点之间验证
4. 将keyfile 拷贝到 replica 节点,mongo config,mongos 节点上
5. 启动mongod,mongo config ,mongos
集群配置,本文不具体介绍,每个服务都需要加上
6. 启动mongodb 集群
7. mongos连接,创建用户和测试结果
1. 启动mongodb集群,不开启auth,配置admin数据库用户
use admin db.createUser( { user: "admin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
2. 停止mongodb集群
3. 在其中一个replica 节点上,配置 keyfile,keyfile用于各个节点之间验证
openssl rand -base64 741 > mongodb-keyfile chmod 600 mongodb-keyfile
4. 将keyfile 拷贝到 replica 节点,mongo config,mongos 节点上
5. 启动mongod,mongo config ,mongos
集群配置,本文不具体介绍,每个服务都需要加上
--keyFile /mysecretdirectory/mongodb-keyfile
mongod --keyFile /mysecretdirectory/mongodb-keyfile --replSet "rs0" mongod --keyFile /mysecretdirectory/mongodb-keyfile -f /etc/mongod-config.conf mongos --keyFile /mysecretdirectory/mongodb-keyfile ...
6. 启动mongodb 集群
7. mongos连接,创建用户和测试结果
[root@packone18 ~]# mongo --port 30000 -u admin -p abc123 --authenticationDatabase admin mongos >> use testdb mongos >> db.createUser( { user: "test_user", pwd: "abc123", roles: [ { role: "readWrite", db: "testdb" } ] } ); mongos >> db.auth(‘test_user’,’abc123’) 测试结果 [root@packone18 ~]# mongo --port 30000 -u test_user -p abc123 --authenticationDatabase testdb MongoDB shell version: 3.2.10 connecting to: 127.0.0.1:30000/test mongos> show collections; 2016-11-03T10:44:56.655+0800 E QUERY [thread1] Error: listCollections failed: { "ok" : 0, "errmsg" : "not authorized on test to execute command { listCollections: 1.0, filter: {} }", "code" : 13 } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:773:1 DB.prototype.getCollectionInfos@src/mongo/shell/db.js:785:19 DB.prototype.getCollectionNames@src/mongo/shell/db.js:796:16 shellHelper.show@src/mongo/shell/utils.js:754:9 shellHelper@src/mongo/shell/utils.js:651:15 @(shellhelp2):1:1 mongos> use testdb; switched to db testdb mongos> show collections; mongos> db.t1.insert({'name':'jake'}); WriteResult({ "nInserted" : 1 }) mongos> db.t1.find(); { "_id" : ObjectId("581aa4bc38ffdf457e2e2c30"), "name" : "jake" }
相关文章推荐
- mongodb 建立 用户名和密码认证 集群
- spring xml配置mongodb远程用户名密码认证
- 集群Kafka配置SASL用户名密码认证
- 集群Kafka配置SASL用户名密码认证
- 在spring中配置mongodb的用户名和密码
- MongoDb3配置远程连接-(带授权)即必须用户名密码来远程登录(win10)
- perl 操作mongodb的 连接 需要用户名和密码认证的 mongodb
- 单机节点Kafka配置SASL用户名密码认证
- MongoDb3配置简单远程连接-(无授权)即无需用户名密码来远程登录
- 单机节点Kafka配置SASL用户名密码认证
- 使用powershell通过配置文件config调用wcf(含用户名密码认证)
- apache的认证安全配置,访问资源时,弹出登陆框需要用户名密码
- 配置hadoop集群时,ssh无密码登陆设置(各个主机的用户名需要一样)
- java使用“用户名+密码”连接mongodb,认证失败的问题解决
- 匿名无须交互输入用户名和密码的samba配置方法(security = user)
- WCF身份验证之用户名密码认证
- 如何配置netbeans中tomcat用户名和密码
- tomcat5.5下配置manager用户名密码