mongodb 3.4 学习 (五)备份&恢复
备份恢复命令
mongodump -h 127.0.0.1 -p 27017 -o /opt/backup -u app -p '@app' --collection demo --db app --oplog
mongorestore -h 127.0.0.1 -p 27017 -u app -p '@app' /opt/backup/mongodump-2013-10-24 --oplogReplay
配置Hidden Secondary用于备份
conf = rs.conf()
{
......
    "members" : [
        {
            "_id" : 0,
            "host" : "10.0.70.105:27021",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 1,
            "host" : "10.0.70.105:27022",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 2,
            "host" : "10.0.70.105:27023",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        }
    ],
......
}
conf.members[2].hidden = true
conf.members[2].priority = 0
conf
{
    ......
        "members" : [
        {
            "_id" : 0,
            "host" : "10.0.70.105:27021",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 1,
            "host" : "10.0.70.105:27022",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 2,
            "host" : "10.0.70.105:27023",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : true,
            "priority" : 0,
            "tags" : {
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        }
    ],
    ......
}
rs.reconfig(conf)
# 锁写
use admin
db.fsyncLock()
# 查看锁状态
use admin
db.currentOp()
# 解锁
use admin
db.fsyncUnlock()
备份shard群集
# 1 关闭balancer
use config
sh.stopBalancer()
# 2 锁定所有shard的复制集
db.fsyncLock()
# 3 修改CSRS的复制集配置
use config
db.BackupControl.findAndModify(
   {
     query: { _id: 'BackupControlDocument' },
     update: { $inc: { counter : 1 } },
     new: true,
     upsert: true,
     writeConcern: { w: 'majority', wtimeout: 15000 }
   }
)
# 验证CSRS
rs.slaveOk()
use config
db.BackupControl.find(
   { "_id" : "BackupControlDocument", "counter" : 1 }
).readConcern('majority');
# 4 锁定CSRS的复制集
db.fsyncLock()
# 5 备份CSRS
mongodump --oplog
# 6 解锁CSRS
db.fsyncUnlock()
# 7 备份所有的shard
mongodump --oplog
# 8 解锁备份所有的shard
db.fsyncUnlock()
# 9 启动balancer
use config
sh.setBalancerState(true)
在新shard群集恢复数据
# 1 部署新shard复制集
# 2 部署新CSRS服务器
# 3 启动mongos服务
# 4 加入shard到群集
# 5 关闭mongs服务
# 6 恢复shard数据
mongorestore --drop --oplogReplay /data/dump/shardA --port 27021
# 7 恢复CSRS服务器
mongorestore --drop --oplogReplay /data/dump/configData
# 8 启动mongs服务
# 9 重启CSRS服务
# 10 重启shard服务
# 11 重启其他mongs服务
# 12 校验群集
db.printShardingStatus()
show collections
												
											mongodb 3.4 学习 (五)备份&恢复的更多相关文章
- MongoDB for OPS 04:备份恢复
		
写在前面的话 和 MySQL 一样,mongodb 也是需要将数据进行备份的,毕竟天有不测风云,谁也不知道哪天机器就炸了. 备份恢复 mongodb 提供了两种备份恢复手段:mongoexport / ...
 - mongodb集群配置及备份恢复
		
Mongodb安装: 编辑/etc/yum.repos.d/mongodb.repo,添加以下: [MongoDB] name=MongoDB Repository baseurl=https://r ...
 - MongoDB副本集搭建及备份恢复
		
一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...
 - mongodb数据导入导出以及备份恢复
		
昨日在公司收到游戏方发来一个1G多的数据文件,要求导入联运账号中.细细一看,纳尼!文件竟然是BSON格式. 哇塞,这不是去年给大家分享的NoSql中的MongoDB的备份文件吗? 于是搭好环境 1.启 ...
 - MongoDB学习(三)数据导入导出及备份恢复
		
这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...
 - MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁
		
权限 绑定内网I ...
 - 010.MongoDB备份恢复
		
一 MongoDB备份 1.1 备份概述 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoi ...
 - mongodb 的备份恢复导入与导出
		
导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...
 - Mongodb数据备份恢复
		
Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...
 
随机推荐
- 压缩感知(CS)
			
总结一下最近看的压缩感知(Compressed Sensiong)的内容. 它是在采样过程中完成了数据压缩的过程. 一. 将模拟信号转换为计算机能够处理的数字信号,必然要经过采样的过程.问题在于,应该 ...
 - ansys14.0 从入门到精通
			
凌桂龙 李战分 2013.2 清华大学 FLUENT流体计算应用教程 索书号:TB126-39 ZW2.1 单元 结点 和 自由度 载荷 与 边界条件 : 关系 就是约束 , 边界条件是 结构 ...
 - 【实战】简述一次挖XSS的经历
			
值守尤其是夜班真的是件痛苦的事情呀,献给还在值守岗位上奋斗的小伙伴们. 简单试了前面几个参数,发现c0-id这个参数值在响应包里有回显,截图如下: 把c0-id参数值改为xss,响应包内容也随之变化, ...
 - 转: centos系统home下的中文目录改为英文目录
			
转自h t t p : / /xugang-1017-126-com.iteye.com/blog/2081845 如果安装了中文版的Cent OS之后,root目录和home目录下会出现中文的路径名 ...
 - SqlSugar ORM框架文档
			
http://www.codeisbug.com/Doc/8/1141 SqlSugar入门级教程+实例 (.net core下的)https://www.cnblogs.com/rulasann/p ...
 - 解决Resharper在Core项目中无法执行单元测试的问题
			
项目升级core了,resharper最近升级到2018.1版本,但是安装后还是无法直接运行单元测试,昨天小姐姐发了解决方法,贼有用.所以记录一下,给自己以后或者其他遇到此问题的小伙伴用. 解决Re ...
 - Oracle RAC集群搭建(zero)--全是报错
			
1. 提示Check if the DISPLAYvariable is set. Failed<<<< 解决方案: #xhost + //切换到root用户输入 #s ...
 - (转)shell脚本之文件测试操作符及整数比较符
			
shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一 ...
 - DotNetCore跨平台~xUnit和测试报告
			
在进入dotnet core时代之后,测试驱动开发TDD的主要工具不再是微软的nunit,取而代之的是更通用的xunit,微软把它集成到了dotnetcore的项目里,在安装完成vs2017之后,你可 ...
 - innosetup卸载软件后,删除定时任务schedule task
			
代码如下: //innosetup自带的方法,当卸载软件时,根据卸载的状态改变时而触发 procedure CurUninstallStepChanged(CurUninstallStep: TUni ...