- 备份
-
- 停机拷贝
- mongodump/mongorestore
- fsync
> use admin
> db.runCommand({"fsync":1,"lock":1})
{
"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
"ok" : 1
}
锁定后所有对数据库的写操作全部被会阻塞,读取操作不会受影响,此时可以进行文件拷贝进行备份,完成后执行
> db.$cmd.sys.unlock.findOne();
{ "ok" : 1, "info" : "unlock requested" }
> db.currentOp();
{ "inprog" : [ ] }
解锁,写入正常。
未正常停止重后启应该修复,使用--repair参数进行启动
运行中数据库的修复,db.repairDatabase(),使用程序{"repairDatabase":1}
新版本已经不在推荐,
副本集没有主从节点之分,在同一时间多个节点总有一个活跃节点和多个备份节点,当其中一个节点出故障时,有其它的节点会自动升为活跃节点。
test环境复制集部署
- 创建不同的实例目录
mkdir -p /data/rs/rs0-0 /data/rs/rs0-1 /data/rs/rs0-2
- 分别带参数启动实例rs.initiate()
./mongod --port 27017 --dbpath /data/rs/rs0-0 --replSet rs0
./mongod --port 27018 --dbpath /data/rs/rs0-1 --replSet rs0
./mongod --port 27019 --dbpath /data/rs/rs0-2 --replSet rs0
注意:操作系统主机名一定要在/etc/hosts里加入对应的配置,否则下面的操作会报错
- 初始化主复制
使用mongo连接到其中一个实例,执行
rs.initiate()
查看一下状态
rs.status()
加入其它成员
rs.add("host:27018")
rs.add("host:27019")
查看状态
- 测试
在此时,只有一个是活动节点,其它是备份节点,在活动节点执行db.test.insert({"x":1}),但是此的备份节点是不能读写的,连接其中备份节点,执行
db.slaveOk(),然后执行db.test.find(),刚才插入的文档能找出来,ok,基本完成。
mkdir -p /data/rs/rs0-3
./mongod --port 27020 --dbpath /data/rs/rs0-3 --replSet rs0
mongo 连接到活动节点
rs.add("host:27020")
rs.status(),直接到同步完成
通过数据库快照(--fastsync)和 和和 和oplog增加节点
cp -r /data/rs/r0-3 /data/rs0-4(注意,需要在停止服务的时候进行复制)
./mongod --port 27021 --dbpath /data/rs/rs0-4 --replSet rs0
mongo 连接到活动节点
rs.add("host:27020")
rs.status(),直接到同步完成
登录到活动节点,执行rs.remove("host:port"),然后使用rs.status()查看复制集状态
分享到:
相关推荐
mongodb学习笔记资料,从安装到操作库collection 对document的crud 索引 replicaSet sharding 备份与恢复
自己在学习MongoDB的一些笔记,里面有各个查询选择器的使用截图,还有一些索引的介绍。
MongoDB学习笔记思维导图.pdf
mongodb学习笔记
MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_...
Mongodb 学习笔记
mongoDB学习笔记及工具
mongodb学习资料,包括mongodb_and_python学习笔记、mongodb权威指南、mongodb学习手册、mongodb总结。
主要介绍了MongoDB学习笔记之GridFS使用介绍,本文介绍了GridFS的作用、GridFS的一些使用方法、GridFS实现原理及注意事项等,需要的朋友可以参考下
总结的MongoDB的学习笔记,基本上包括了MongoDB的方方面面,每个知识点,都有示例代码,有需要的朋友,可以下载下来进一步补充完善。
一、关于MongoDB的驱动MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动 二、通过samus驱动实现HelloWorld存取在进行下述操作之前,请
下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上。这个“简易系统”的基本设计思想是这样的:我们在视图层展示表格,Jqgrid相关Js逻辑全部放在一个Js文件中,控制层实现了“增删查改...
MongoDB最详细学习笔记
express+mongodb学习笔记保存
本文是自己初学MongoDB时做的笔记,比较简单易懂,也可说是傻瓜式的记录