一、单机备份/恢复
MongoDB的逻辑备份/恢复
1、备份步骤
1)登录单机实例,将数据库锁定
db.fsyncLock()
2)在操作系统通过mongodump备份数据
3)解除锁定
db.fsyncUnlock()
2、恢复步骤
使用mongorestore将数据恢复
MongoDB的物理备份/恢复
1、备份步骤
1)登录单机实例,将数据库锁定或者直接停机
db.fsyncLock()
2)将目录下的所有文件直接复制出来
3)解除锁定或者启动MongoDB
2、恢复步骤
1)将 MongoDB停机,避免数据写入
2)将备份文件拷贝到指定数据目录下
3)启动MongoDB实例
二、副本集的备份/恢复
MongoDB的逻辑备份/恢复
1、备份步骤
1)选择一个副本节点,将数据库锁定
db.fsyncLock()
2)在操作系统通过mongodump备份数据
3)解除锁定
db.fsyncUnlock()
2、恢复步骤
在主节点使用mongorestore将数据恢复
MongoDB的物理备份/恢复
若不想影响MongoDB服务,则可以选择副本节点进行操作
1、备份步骤
1)锁定数据库
2)将目录下的所有文件直接复制出来
3)解除锁定
2、恢复步骤
1)关闭MongoDB服务
2)删除所有节点数据文件下的文件
3)将复制出来的数据库文件放回主节点数据库目录下
4)启动MongoDB服务
三、分片集的备份/恢复
MongoDB的逻辑备份/恢复
1、备份步骤
1)停止平衡器的运作
2)在每个分片中选择一个副本节点执行锁定
3)使用 mongodump备份数据
4)解除锁定
2、恢复步骤
1)将主分片备份出来的数据从mongos恢复回去
2)有分片的数据库需要重新设定分片
MongoDB的物理备份/恢复
1、备份步骤
1)停止平衡器运作
2)在config副本集和每个分片中分别选择一个副本节点执行锁定
3)将 config副本和数据副本节点的数据文件目录下的文件复制出来
4)解除锁定
5)开启平衡器的运作
2、恢复步骤
1)关闭MongoDB服务
2)将所有节点数据文件下的文件删除
3)将复制出来的数据库文件放回config和每个shard的主节点对应的数据文件目录下
4)启动MongoDB服务