mongo副本集
replication sets
1.启动3个实例,他们3个属于同一个复制集,声明属于哪一个复制集
./mongod --dbpath=/mongodb/data1 --logpath=/mongodb/log/d1.log --fork --port 27017 --replSet rsjty
./mongod --dbpath=/mongodb/data2 --logpath=/mongodb/log/d2.log --fork --port 27018 --replSet rsjty
./mongod --dbpath=/mongodb/data3 --logpath=/mongodb/log/d3.log --fork --port 27019 --replSet rsjty
2.配置
var rsconfig={
_id:"rsjty",
members:[
{_id:0,
host:"127.0.0.1:27017"},
{_id:1,
host:"127.0.0.1:27018"},
{_id:2,
host:"127.0.0.1:27019"}
]
}
3.根据配置做replication set的初始化
rs.initiate(rsconfig)
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1646197076, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1646197076, 1)
通过rs.stats()可以查看状态
配置好之后会27017为primary ,18、19为secondary状态
4.删除节点
rs.remove("127.0.0.1:27019")
rs.stats() 可以查看节点数量
5.添加节点;
rs.add("127.0.0.1:27019")
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1646197632, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1646197632, 1)
}
5.连接secondary查看数据,slave默认不允许读写,可以执行rs.slaveok()或者rs.secondaryok()
WARNING: slaveOk() is deprecated and may be removed in the next major release. Please use secondaryOk() instead
6.primary 角色shutdown ,执行db.shutdownServer()
rsjty:PRIMARY> db.shutdownServer()
server should be down...
27018 跟27019会自动选举上来一个作为住,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗