在 Linux 下配置 MongoDB 主从(Replica Set 方式,推荐),可以按照以下步骤操作。MongoDB 官方已不推荐使用老式 master-slave,而是使用 Replica Set(副本集),它天然包含主节点和从节点。
假设有两台 Linux 服务器:
192.168.1.10192.168.1.11MongoDB 版本:4.x / 5.x / 6.x(步骤通用)
# 以 Ubuntu 为例
sudo apt update
sudo apt install -y mongodb-org
CentOS:
sudo yum install -y mongodb-org
编辑配置文件:
sudo vim /etc/mongod.conf
net:
bindIp: 0.0.0.0
port: 27017
replication:
replSetName: rs0
replSetName主从必须一致
bindIp建议先 0.0.0.0 测试,生产环境限制 IP
重启服务:
sudo systemctl restart mongod
登录 MongoDB:
mongo
执行:
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "192.168.1.10:27017" },
{ _id: 1, host: "192.168.1.11:27017" }
]
})
查看状态:
rs.status()
use test
db.user.insert({name:"tom"})
mongo
rs.slaveOk() # 老版本
# 或
rs.secondaryOk() # 新版本
db.user.find()
能看到数据即同步成功 ✅
副本集中 只有 Primary 可写
检查:
rs.printReplicationInfo()
rs.add("192.168.1.12:27017")
如果你只是想用传统主从:
master: true # 主
slave: true # 从
source: 192.168.1.10
⚠️ 官方已废弃,不建议生产使用
如果你需要:
可以告诉我,我给你具体方案。