ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MongoDB 4.2 数据迁移与备份指南

2021-05-08 15:32:44  阅读:170  来源: 互联网

标签:4.2 -- MongoDB 备份 db 数据库 节点 secondary


MongoDB 4.2 数据迁移与备份指南

来源于MongoDB Manual 4.2

https://docs.mongodb.com/v4.2/tutorial/restore-replica-set-from-backup/

原文:Restore a Replica Set from MongoDB Backups

从文件系统创建冷备份

注意,创建冷备份时需要停止数据库服务器运行,可以尝试停止一个secondary节点或者hidden节点

  • 可以使用系统快照的方式直接创建数据库目录磁盘快照

  • 可以使用rsync命令将数据库目录同步到远程备份服务器

  • 可以使用压缩工具将数据库目录压缩归档

从冷备份恢复单节点数据库

  1. 释放冷备份归档文件,取得数据库目录

  2. 单机模式启动数据库

    mongod --dbpath /data/db
    
  3. 删除local数据库

    mongo
    use local
    db.dropDatabase()
    

    然后停止该mongd实例

删除local数据库是为了重建副本集,否则数据库启动时会处于Other状态,无法进行数据操作

创建新的副本集

  1. 创建新的副本集

    mongod --dbpath /data/db --replSet <replName>
    mongo
    rs.initiate({
      _id: <replNmae>,
      members: [{_id:0, host: <host:port>}]
    })
    
  2. 将数据同步到secondary节点

    有两种同步方式:

    • 通过手动拷贝的方式将数据拷贝到secondary节点,也可以使用rsync工具
    • 通过数据库自己的initial sync方式自动的分发数据到secondary节点

    如果数据库较大的话,还是使用拷贝数据库目录的方式进行同步比较快

  3. 加入新的secondary节点

    ## 启动新的secondary节点
    mongod --dbpath /data/db --replSet <replName>
    ## 在primary节点执行操作
    mongo
    rs.add("<host:port>")
    
  4. 检查副本集状态

    ## 在primary节点执行操作
    mongo 
    rs.status()
    

标签:4.2,--,MongoDB,备份,db,数据库,节点,secondary
来源: https://blog.csdn.net/m0_37682535/article/details/116529094

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有