MongoDB数据文件备份与恢复
备份与恢复数据对于管理任何数据存储系统来说都是非常重要的。
1、冷备份与恢复——创建数据文件的副本(前提是要停止MongoDB服务器),也就是直接copy
MongoDB将所有数据都存储在数据目录下,默认是/data/db/(Windows下是C:\data\db\),启动MongoDB时也可以用--dbpath指定我们自己设置的数据存储目录。
备份MongoDB数据:只要简单的创建数据存储目录的副本就可以了,直接copy一份。
恢复MongoDB数据:在MongoDB启动时用--dbpath指定数据存储目录副本位置。
在服务器运行的情况下直接copy是有风险的,可能copy出来时,数据已经遭到破坏,这种方式下创建数据目录的副本需要在关闭MongoDB服务器的前提下,数据目录中存储的就是关闭那一刻数据的快照,在服务器重新启动之前可以复制目录作为备份。
2、热备份与恢复——MongoDB bin目录下自带的mongodump和mongorestore工具
mongodump是一种能在运行时备份的方法。该命令详细参数如下:
mongorestore获取mongodump的输出结果,并将备份的数据插入到运行的MongoDB实例中实现数据恢复。该命令详细参数如下:
mongodump(备份)与mongorestore(恢复)示例:
1、创建mongodb数据库:
2、mongodump备份mongodb数据库:
-d指定需要备份的数据库,-o指定备份位置,上述表示备份mongodb数据库到与当前mongodump命令同一位置backup目录下
3、mongorestore恢复mongodb数据库,并重命名为mongodb2数据库:
-d指定要恢复为的数据库,可以将备份的数据库恢复到与原来不同名的数据库中,这里为mongodb2,--drop表示在恢复前删除集合(若存在)。否则,数据就会与现有集合数据合并,可能会覆盖一些文档。
恢复之后数据存储目录中的数据:
此时在MongoDB shell下可以查看到mongodb2数据库,及其中的mongodb集合和数据文档。
3、fsync和锁方式备份
上面的1,2两点都不能保证备份时获取数据的实时性,因为我们在备份的时候可能还有数据在内存缓冲区中没有写入到磁盘,MongoDB给我们提供了fsync+lock机制就能满足我们的需求。
fsync(注意,只支持1.3+版本):该命令会强制服务器将所有缓冲区中的内容写入磁盘,
让我们可以实时性获取数据。
lock(写入锁):通过lock给数据库一个写入锁,阻止对数据库的进一步写入操作,其他实例的写入操作全部被阻
塞,直到释放锁为止。写入锁是让fsync在备份时发挥作用的关键。
1、在shell中强制执行fsync并获得lock(写入锁),在备份之前fsync并加锁:
fsync并加锁: db.runCommand({"fsync":1,"lock":1}),该命令用于admin db。
该操作强制服务器将所有缓冲区中的内容写入磁盘并对数据库上锁,不允许执行写数据操作,一般在执行数据库备份时有用。
2、db.$cmd.sys.unlock.findOne():释放锁,备份好了就要解锁,该命令用于admin db。
3、db.currentOp():查看当前锁状态
已经解锁状态: www.2cto.com
上锁状态:
其中,fsyncLock为1表示MongoDB的fsync进程(负责将写入改变同步到磁盘)不允许其他进程执行写数据操作
fsync命令能非常灵活的备份,不用停掉服务器,也不用牺牲备份的实时特性。要付出的代价就是一些写入操作被暂时阻塞了。 唯一不耽误读写还能保证实时快照的备份方式就是通过“从服务器”备份。
4、从属备份
在从服务器上备份是MongoDB推荐的备份方式
相关推荐
注意事项:以下指令一般需要在mongodb的安装路径下执行 备份数据 #如果不输入集合名,默认整个...还原数据(里面每张表需有一个bason文件和一个metadata.json文件,前者用来存储数据,后者用来存储索引) mongores
8.8.1 数据文件备份 8.8.2 数据备份mongodump 8.8.3 数据恢复mongorestore 8.8.4 fsync和锁 8.8.5 从属备份 8.8.6 修复 8.9 本章小结 第4篇 性能篇 第9章 索引 9.1 索引简介 9.1.1 基础...
MongoDB 3.0 后 ,数据库可以采用Wiredtiger存储引擎后(3.2 版本默认),在此环境下通过mongodump 备份后,产生的备份文件要远大于数据存储文件的大小。此外,一般MongoDB存储的数据量比较大,备份文件也比较大,...
备份与恢复-主从复制备份 备份与恢复-修复 第八天:MONGODB复制 主从复制 主从复制-选项 副本集 副本集-特点 副本集-活跃节点选举 读写分离 工作原理-OPLOG 工作原理-同步 复制管理-诊断 复制管理-变更OPLOG容量 复制...
8.8.1 数据文件备份 8.8.2 数据备份mongodump 8.8.3 数据恢复mongorestore 8.8.4 fsync和锁 8.8.5 从属备份 8.8.6 修复 8.9 本章小结 第4篇 性能篇 第9章 索引 9.1 索引简介 9.1.1 基础...
目录网盘文件永久链接 01.MongoDB基础 视频 01-复习_recv 02-简介_recv 03-增、改、删_recv 04-查询_recv 05-查询2_recv 06-查询3_recv 07-聚合-分组_recv ...07-备份与恢复 08-与py交互 09-总结 资料 笔记
一,mongodump备份数据库 1,常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p。 如果导出本机的数据库,可以去掉-h。 如果是默认端口,可以...
Freezer是备份还原DR即服务平台,可帮助您自动执行数据备份和还原过程。 提供以下功能: 使用时间点快照备份文件系统 支持强加密:AES-256-CFB 直接备份文件系统树(无卷快照) 使用lvm快照将日记的MongoDB目录...
MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(NoSQL,Not Only SQL)数据库中比较像关系型数据库的一个,具有免费、操作简单、面向文档、自动分片、可扩展性强、查询功能强大等特点,对大数据...
复制集群,备份数据库并还原数据 根据实时数据创建数据驱动的图表和报告 相关工作坊 如果您发现此存储库很有用,则可能需要查看我们的其他一些研讨会标题: SQL Workshop 应用SQL数据分析研讨会 人工智能基础设施...
:基于可靠性的需求,各个公司对容灾的要求也是越来越高。单在数据中心备份副本明显已经跟不上...LogicMonitor——用于实体、虚拟以及云环境基于SaaS的监视方案,我们希望用户数据文件的副本在数据中心内外都有储存。
与基本脚本不同,它还打包了还原过程,以在30秒内从备份中取回数据。 它使用pg_dump , mysqldump或mongodump并添加: 安装过程简单互动配置无Cron标签编辑使用公钥/私钥对进行加密流上传到AWS S3 备份还原过程...
2.备份与恢复 3.监控与报警 4.实例创建 5.网络类型切换 技术研究 1.MongoDB Driver:使用正确的姿势连接复制集 MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证...
问题: 读库与写库的数据同步 解决方案: 不同的数据库都有自己的数据库的主从复制功能 使用反向代理与CDN加速网站响应 反向代理产品 ngix 使用分布式文件系统和分布式数据库系统 使用no-sql和搜索...
... ...主体部分: ... ...MariaDB/10.3.8 MySQL分支版本使用方法完全一致,有着更强的性能和兼容性;...Redis/3.2.1 非常高效的数据缓存服务端;...phpMyAdmin/4.8.2 开源、基于WEB而小巧的数据库...支持UPUPW配置文件的备份与还原。
* 默认已经获取了2018年的5级行政区域全量数据,在项目的result目录里,结果类型有导出的JSON文件与mongo数据库备份文件 * 统计用区划代码和城乡划分代码的区划范围,是国家统计局开展统计调查的区划范围 * 数据不...
mongodump / mongorestore-将MongoDB备份以.BSON格式转储到磁盘,或将其还原到实时数据库 mongostat-监视实时MongoDB服务器,副本集或分片群集 mongofiles-读取,写入,删除或更新文件 mongotop-监视mongo服务器上的...
5.2.2 虚拟机数据备份恢复工具 181 5.2.3 虚拟机安全工具 181 5.2.4 可靠性组件FT和HA 182 5.3 云架构服务提供平台vCloud Service Director 182 5.3.1 创建虚拟数据中心和组织 183 5.3.2 网络的设计 184 5.3.3 目录...
要还原,此应用程序使用网络api发送数据并与MongoDb同步。 可以在上访问Web api项目。 还计划了一个Web应用程序。 去做 仅可访问Web API时更改密码 完成同步数据 创建一种从新设备还原帐户的机制 写测试 作者-贡献...