MongoDB副本集操作
在MongoDB中,可以使用rs.initiate()
, rs.add()
, rs.status()
, rs.reconfig()
等命令来操作复制集。以下是一些基本操作的示例代码:
- 启动复制集:
// 在主节点上执行
rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "mongodb0.example.net:27017" },
{ _id: 1, host: "mongodb1.example.net:27017" },
{ _id: 2, host: "mongodb2.example.net:27017" }
]
}
)
- 添加副本节点:
// 在主节点上执行
rs.add("mongodb3.example.net:27017")
- 查看复制集状态:
// 在任意节点上执行
rs.status()
- 移除副本节点:
// 在主节点上执行
rs.remove("mongodb3.example.net:27017")
- 强制副本集重配置:
// 在主节点上执行
var config = rs.config();
// 修改 config 对象以添加或移除成员
rs.reconfig(config);
- 备份和恢复操作:
// 备份主节点数据
mongodump --host mongodb0.example.net:27017 --dumpDb mydb --out /backup/mydb.bson
// 恢复到副本节点
mongorestore --host mongodb3.example.net:27017 --db mydb /backup/mydb.bson
注意:在实际操作中,需要根据自己的MongoDB服务器的实际IP和端口以及数据库名称来替换上述代码中的示例。同时,对于生产环境,应该在副本集的次要节点上执行读操作,并确保执行这些操作的用户具有相应的权限。
评论已关闭