参考:https://blog.csdn.net/weixin_43464076/article/details/126509254
https://driverzhang.github.io/post/mongo%E5%BC%80%E5%90%AF%E4%BA%8B%E5%8A%A1%E4%B9%8B%E5%89%AF%E6%9C%AC%E9%9B%86%E9%87%87%E5%9D%91/
https://dev.to/alexalvess/getting-started-with-net-core-api-mongodb-and-transactions-c44
1. 安装MongoDB 6.0.5(已安装不用再安装)
2. 安装mongosh-2.2.5-x64 (重要),把“C:\Program Files\mongosh”加到系统变量路径中
3. 进入CMD,输入“mongosh --port 27017”测试MongoDB安装成功后“quit”
4. 打开Windows服务并手动停止MongoDB服务
5. 在安装bin目录下“C:\Program Files\MongoDB\Server\6.0\bin”新建“mongod.conf”(注:D:\Mes\Database\MongoDB2\目录下创建data与log文件夹),内容如下:
---------------------------------------------------------------------------------------------------
# mongodb端口
port=27018
# 绑定ip,只有这个ip才可以访问上mongodb
bind_ip=127.0.0.1
# 日志文件的路径
logpath=D:\Mes\Database\MongoDB2\mongod.log
# 日志以追加的方式存在
logappend=true
# 数据文件的目录
dbpath=D:\Mes\Database\MongoDB2\data
# mongodb进程的pid的值将存入此文件
#pidfilepath=D:\Mes\Database\MongoDB2\mongod.pid
# 复制集的名称,同一个复制集的名称必须要相同
replSet=rs0
---------------------------------------------------------------------------------------------------
6. 在安装bin目录下转到CMD,输入“mongod --config "C:\Program Files\MongoDB\Server\6.0\bin\mongod.conf"”,执行后CMD窗口光标闪烁并没有错误提示,查看日志里面会报错:"msg":"Failed to refresh key cache","attr":{"error":"NotYetInitialized: Cannot use non-local read concern until replica set is finished initializing.",这个报错是正常的,接下来的步骤很重要
7. 新开一个CMD窗口,输入“mongosh --port 27018”(port跟conf文件里一致),成功后进入mongo命令窗口“test>”
8. 在mongo命令窗口输入“use admin”进入管理员模式
9. 接着输入
admin> rsconf = {_id: "rs0",members: [{_id: 0,host: "127.0.0.1:27018","priority":10}]}
admin> rs.initiate(rsconf)
返回“{ ok: 1 }”则正常,可以通过rs.status()查看副本集状态
10. 以上副本集配置完成后,需要配置成windows服务让其自动启动
11. 关闭前面打开的CMD窗口,以管理员的方式另外打开CMD窗口,输入:
# 删除自动注册的mongodb服务
sc delete MongoDB
# 注册新的mongodb服务
"C:\Program Files\MongoDB\Server\6.0\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\6.0\bin\mongod.conf" --service --serviceName MongoDbRs --serviceDisplayName MongoDbRs --install
路径请根据具体情况修改
12. 启动注册好的服务“net start MongoDbRs”,启动成功完成配置