mongodb 副本集搭建过程
1、下载包
2、解压包
创建目录
3、设置环境变量
在/etc/profile.d/下创建mongo.sh 文件 如下
export MONGODB_HOME=/opt//mongodb
export PATH=$PATH:$MONGODB_HOME/bin
4、配置文件
cat > /opt/27018/conf/mongod.conf <<EOF
systemLog:
destination: file
path: /opt/27018/log/mongodb.log
logAppend: true
storage:
journal:
enabled: true
dbPath: /opt/27018/data
directoryPerDB: true
wiredTiger:
engineConfig:
cacheSizeGB: 1
directoryForIndexes: true
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
processManagement:
fork: true
pidFilePath: /opt/27018/run/mongodb.pid
net:
bindIp: 0.0.0.0
port: 27018
replication:
oplogSizeMB: 2048
replSetName: my_repl
security:
authorization: enabled
keyFile: /opt/27018/conf/repl_set.key
EOF
先注释调涉及密码的部分
5、启动3个mongo
mongod --config /opt/27017/conf/mongod.conf
6、初始化副本
config =
{_id: "my_repl",
members: [{_id: 0, host:"192.168.217.109:27017",priority:2},
{_id: 1, host:"192.168.217.110:27018",priority:1},
{_id: 2, host:"192.168.217.111:27019", arbiterOnly : true}]
}
rs.initiate(conf)
执行 rs.status() 查看副本集状态
7、设置密码
创建超级用户
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
}
)
生成文件
openssl rand -base64 756 > /opt/mongodb/28017/conf/repl_set.key
sz /opt/mongodb/28017/conf/repl_set.key 拷贝到另外两个机器
chmod 600 /opt/mongodb/28017/conf/repl_set.key 赋权
取消mongo.conf的密码注释行
关闭另外两个mongo
重启主mongo
启动另外两个mongo
注意启动顺序啊(想一想 如果先关主,另外两个mongo开启着,主节点是不是就漂移了。主是最后关的)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)