Windows 下MongoDB复制集配置

1.下载服务。https://www.mongodb.com/   点击products 下拉第二列MongoDB server  选择 4.0.6

2.下载下来后 有限管理员运行 一路安装,可以不用安装客户端图解

3.安装完成后只有一个bin文件。根据以下图片创建各个文件夹。

   data 下面不用创建任何文件

   conf 地下创建 mongo.conf

   mongo.conf 文件内容:

   

# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
  dbPath: E:\xxx\MongoDB\shard01\s1\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  E:\xxx\MongoDB\shard01\s1\log\mongo.log
# network interfaces
net:
  port: 28021
  bindIp: 192.168.0.23
#processManagement:
#security:
  #authorization: enabled
  #keyFile: E:\xx\MongoDB\shard01\s1\keyfile\mongodb.keyfile
#operationProfiling:
replication:
  oplogSizeMB: 2048
  replSetName: sh1
#sharding:
  #clusterRole: shardsvr
## Enterprise-Only Options:
#auditLog:
#snmp:

   log下面创建 mongo.log 文件

   keyfile 下面创建 mongodb.keyfile 文件,为了复制集的用户验证。

   

安装完成后将每个文件复制成3个放到一起将conf 中的路径进行分别配置 port 端口号要改。

 

4.运行win+r 选择管理员启动cmd

5.开始注册服务:

  

安装成服务后可以到服务中查看。以此注册s2,s3服务。

6.注册完成后,将所有服务启动

7.重新打开cmd  链接到其中的一个mongodb  

 

8.在重新开启2个cmd将其他2个也安装这样链接上

9.进入其中一个进行初始化配置

config = {_id: 'sh1', members: [{_id: 0, host: '192.168.0.23:28021'},{_id: 1, host: '192.168.0.23:28022'},{_id: 1, host: '192.168.0.23:28023',"arbiterOnly":true}] }

 sh1 是我们配置文件中的复制集名称,arbiterOnly 是否为仲裁节点

rs.initiate(config)
等一下,按enter 就会发现

primary 为主库的意思,seconder为从库的意思。
==创建用户名
在主库上运行

use admin
db.createUser(
  {
    user: "root",
    pwd: "root",
    roles: [ { role: "root", db: "admin" } ]
  }
)  
找到主库的配置文件 conf 开启一下


关于这个keyfile linux 上说的是

意思大概是将随机一批数字然后base64编码有666个字符的样子,不是很清楚。我就是在网上随机了一批数字然后base64编码后生成的数据放到keyfile中。


conf 配置好后,将服务重新启动,然后客户单重新练级后 如果查看等报错的话就会提示需要权限,然后转到use admin下db.auth("admin","admin") 返回1就是 成功。然后登陆从节点进行登陆看一下是否需要提示。
如果都成功,可以写入数据看一下复制集中是否有数据。

写的有点乱。~~~~~~~~~~~~~~~~~~~~~~尴尬

 

posted @ 2019-03-18 16:43  今晚再打老虎  阅读(1380)  评论(9编辑  收藏  举报