Mongdb 3.2 复制集配置 官方默认配置 启用认证 Windows环境

原创 2017年01月03日 11:35:43

步骤:

1、更新hosts文件

路径:C:\Windows\System32\drivers\etc

在hosts文件里添加:

xxx.xxx.xxx.xxx    mongodb0.example.net
xxx.xxx.xxx.xxx    mongodb1.example.net
xxx.xxx.xxx.xxx    mongodb2.example.net


2、添加文件夹

路径:D:\MongoDB\data

添加3个文件夹db26001,db26002,db26003


3、生成keyfile文件

linux环境:
openssl rand -base64 756 > aaakeyfile1.dat
chmod 400 aaakeyfile1.dat

//文件需要转换格式,从Unix到Windows格式


4、准备config文件

路径:D:\MongoDB\Server\3.2\bin

文件名:mongodb26001.conf

内容:

port=26001
logpath=D:\MongoDB\data\db26001\mongod26001.log
logappend=true
pidfilepath=D:\MongoDB\data\db26001\26001.pid  
dbpath=D:\MongoDB\data\db26001
#bind_ip=mongodb0.example.net
maxConns=500
replSet=rs0
#auth=true
#keyFile=D:\MongoDB\Server\3.2\bin\aaakeyfile1.dat

#fork=true
#cpu=true
#noauth=true

//相应配置mongodb26002.conf,mongodb26003.conf


5、启动mongod

mongod -f D:\MongoDB\Server\3.2\bin\mongodb26001.conf


6、进入实例1

mongo mongodb0.example.net:26001

运行语句:

 rs.initiate()

返回结果:

运行语句:

rs.conf()

返回结果:



7、启动实例2

mongod -f D:\MongoDB\Server\3.2\bin\mongodb26002.conf

在实例1主窗口运行:

运行语句:

rs.add("mongodb1.example.net:26002")


启动实例3:

mongod -f D:\MongoDB\Server\3.2\bin\mongodb26003.conf

在实例1主窗口运行:

运行语句:

rs.add("mongodb2.example.net:26003")


8、验证:

rs.status()


9、验证复制集是否连通

进入实例3(从节点):

mongo mongodb2.example.net:26003

运行:

 db.testcol123.insert({a1:111})

返回:

WriteResult({ "writeError" : { "code" : 10107, "errmsg" : "not master" } })

//从节点不能写入


--添加数据,测试是否传到从节点

进入实例1:

mongo mongodb0.example.net:26001

运行:

 db.testcol123.insert({a1:111})

返回:

WriteResult({ "nInserted" : 1 })


查看实例2,实例3

运行语句:

 rs.slaveOk()


 db.testcol123.find()

返回:{ "_id" : ObjectId("586b1f612b93726791eff4ca"), "a1" : 111 }

//已经传入从节点



10、添加用户

进入实例1:

mongo mongodb0.example.net:26001


use admin
db.createUser(
  {
    user: "myRootAdmin",
    pwd: "xxx",
    roles: [ { role: "root", db: "admin" } ]
  }
)



use test
db.createUser(
  {
    user: "myTester",
    pwd: "xxx",

    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)


11、停止所有节点,修改config文件,取消以下注释,重启所有节点

#auth=true
#keyFile=D:\MongoDB\Server\3.2\bin\aaakeyfile1.dat


12、用java客户端验证


package com.tesco.mongodb.test;



import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;


import org.bson.Document;
//import org.json.JSONObject;



import com.mongodb.AggregationOutput;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCursor;
import com.mongodb.MongoClientURI;
import com.mongodb.ReadConcern;
import com.mongodb.ReadPreference;
import com.mongodb.WriteConcern;

import com.mongodb.MongoClient;
import com.mongodb.client.AggregateIterable;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;


public class Test4 {
 
	public static void main(String[] args) {
		for (int i = 0; i < 3; i++) {
			run1();	
		}
		
	}
	
	
	private static void run1(){
		Logger log = Logger.getLogger("org.mongodb.driver");
		log.setLevel(Level.OFF);
		MongoClient mongoClient  = null;
		MongoCursor<Document> mongoCursor = null;
		try {
			Long l1 = System.currentTimeMillis();
		 
			MongoClientURI connectionString = new MongoClientURI("mongodb://myTester:xxx@" +
 
					"mongodb0.example.net:26001," +
					"mongodb1.example.net:26002," +
					"mongodb2.example.net:26003/test?replicaSet=rs0&maxPoolSize=400");//&readPreference=secondary
 
			
			mongoClient = new MongoClient(connectionString);

			MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
 
			MongoCollection<Document> collection = mongoDatabase.getCollection("testcol123");
 
			FindIterable<Document> findIterable = collection.find();
			mongoCursor = findIterable.iterator();
 
			while (mongoCursor.hasNext()) {
 
				System.out.println(mongoCursor.next());
 
				
			}
			
		 
			
			
			Long l2 = System.currentTimeMillis();
			System.out.println(l2-l1);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if(null != mongoCursor)
				mongoCursor.close();
			if(null != mongoClient){
				mongoClient.close();

			}
		}

	}

}



返回:

Document{{_id=586b1f612b93726791eff4ca, a1=111.0}}
Document{{_id=586b1f612b93726791eff4cb, a1=111.0}}
Document{{_id=586b1f622b93726791eff4cc, a1=111.0}}
2125
Document{{_id=586b1f612b93726791eff4ca, a1=111.0}}
Document{{_id=586b1f612b93726791eff4cb, a1=111.0}}
Document{{_id=586b1f622b93726791eff4cc, a1=111.0}}
782
Document{{_id=586b1f612b93726791eff4ca, a1=111.0}}
Document{{_id=586b1f612b93726791eff4cb, a1=111.0}}
Document{{_id=586b1f622b93726791eff4cc, a1=111.0}}
718








window安装MongoDB并配置复制集

百度MongoDB下载官网:http://www.mongodb.org。 选择window版本的进行下载这里就不详讲; 下载之后安装的选择自定义安装,就是选择第二个,并选择自己的路径; 在自己的安装...

Mongdb 3.4 复制集 分片 官方默认配置 无认证 Windows环境

官方链接:http://docs.mongoing.com/manual-zh/tutorial/convert-replica-set-to-replicated-shard-cluster.htm...

mongdb副本集结构的配置

  • 2015年05月08日 16:23
  • 6.92MB
  • 下载

mongdb 安装 配置及使用 (windows 2.0.2版)

(一)基础入门   关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行...

windows配置mongdb记录

刚给windows电脑配置了mongdb记录一下。 前往官网下载合适的安装包,我选择的是msi安装包,也可以选择下载zip包。 运行msi安装包(默认安装在C盘,没找到在哪里可以修改盘符)。 在D:\...

Mongodb 3.2 官方 启用认证

Enable Auth On this page OverviewUser AdministratorProcedure Overview Enabling access co...

如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境(官方)

原贴地址:http://www.cocos.com/doc/如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境建议:为避免安全相关问题,所有操作请在管理员身份...

Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境

一、软件 1)VS2012(C++11特性在VS2012以上可以使用);传送门: 2)Cocos2d-x官网源码;传送门: http://cocos2d-x.org/download 3)JDK...

Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境

Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境 一、软件 1)VS2012(C++11特性在VS2012以上可以使用);传送门: 2)Coc...
  • w111y24
  • w111y24
  • 2016年04月20日 17:19
  • 301

Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境

原文地址:http://www.itnose.net/detail/6090401.html
  • Joy_77
  • Joy_77
  • 2014年11月07日 14:46
  • 501
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mongdb 3.2 复制集配置 官方默认配置 启用认证 Windows环境
举报原因:
原因补充:

(最多只允许输入30个字)