在window下将Mongodb单机改为副本集,只用于测试环境,实际上并没有增加真的副本集

1.修改mongod.cfg配置文件

在你安装mongodb的文件目录中找到bin/然后找到mongod.cfg

注意下面的格式,不能用tab键进行缩进,字段冒号后面必须有空格

bash 复制代码
storage:
  dbPath: D:\xuenodejs\mongoData

systemLog:
  destination: file
  logAppend: true
  path: D:\xuenodejs\mongoLogs\mongod.log

net:
  port: 28017
  bindIp: 127.0.0.1

security:
  authorization: enabled
  keyFile: D:\xuenodejs\mongoLogs\mongo-keyfile

replication:
  replSetName: rs0

关于keyFile: D:\xuenodejs\mongoLogs\mongo-keyfile文件的生成

你可以用openssl 生成,生成命令如下

bash 复制代码
openssl rand -base64 756 > /path/to/mongo-keyfile
chmod 400 /path/to/mongo-keyfile  # 限制权限

2.首先用管理员身份打开window powershell

以管理员身份运行 PowerShell,执行:

Restart-Service -Name "MongoDB" -Force

或者停止后再启动

Stop-Service -Name "MongoDB"

Start-Service -Name "MongoDB"

3.登陆mongodb,用mongosh登陆,记住必须 是admin身份登陆

如果你是创建的新数据库应该先运行配置文件

mongod --config "d:/xuenodejs/backend/mongod2.cfg"

直接连接本地

mongosh

或指定端口、认证

mongosh --port 28017 -u admin -p

进入后切换到 admin 库

use admin

4.初始化副本集

bash 复制代码
// 初始化单节点副本集
rs.initiate({
    _id: "rs0",
    members: [{ _id: 0, host: "localhost:28017" }]
});

// 等待几秒,查看状态
rs.status();

// 确认自己是 PRIMARY 后,退出
exit;

5.修改你后端的连接地址,我是nodejs的

bash 复制代码
#urlPath='mongodb://admin:123456@localhost:28017/?authSource=admin&replicaSet=rs0';

// 关键是加上 &replicaSet=rs0

这样你就可以在nodejs中测试用mongodb的副本集了,比如用watch()监听insert/update/delete/change等方面的事件程序了,这些可以写成监听生成新的订单,新的工单,或是生成了新的通知等等,然后将新生成的文章通知用户或是管理员

相关推荐
每天都要进步哦2 小时前
SQL单行函数详解:字符、数字、日期、转换与通用函数全解析
数据库·mysql
不剪发的Tony老师2 小时前
VeloxDB:一款免费开源的轻量级数据库管理工具
数据库·sql
dotnet902 小时前
批量生成所有表的修改脚本
数据库·sql·oracle
@Mike@2 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
南凉北往3 小时前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
回眸不遇3 小时前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
2601_965798473 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
zdl6863 小时前
EasyMarkets:“机器人商业化仍待验证”
数据库·机器人
Freak嵌入式3 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
Elastic 中国社区官方博客3 小时前
Elastic 和 OpenAI 合作,将前沿智能引入非结构化企业数据
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai