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 interfacesnet: 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就是 成功。然后登陆从节点进行登陆看一下是否需要提示。 如果都成功,可以写入数据看一下复制集中是否有数据。 写的有点乱。~~~~~~~~~~~~~~~~~~~~~~尴尬