在口头mongodump和mongorestore之前,咱们须要确保MongoDB数据库正在运转并且mongodump和mongorestore工具曾经正确装置。
以下命令将备份名为mydb_backup的数据库,并将备份文件保留在目录中:
mongodump --db mydb --out mydb_backup
此命令将备份mydb数据库,并将备份文件保留在名为mydb_backup的目录中。备份文件将蕴含该数据库的一切汇合和文档,以及索引、用户、角色和权限等消息。
以下命令将从名为mydb_backup的备份文件中恢双数据库:
mongorestore --db mydb mydb_backup/mydb
此命令将恢复mydb数据库,并从名为mydb_backup的备份文件中读取备份数据。恢复操作将恢复一切汇合和文档,以及索引、用户、角色和权限等消息。
在口头基于复制集的备份和恢复之前,咱们须要先创立一个复制集并将数据拔出到其中。
以下是创立一个蕴含3个节点的复制集的示例:
mongod --replSet rs0 --dbpath /data/rs0-0 --port 27017mongod --replSet rs0 --dbpath /data/rs0-1 --port 27018mongod --replSet rs0 --dbpath /data/rs0-2 --port 27019
该命令将启动3个MongoDB节点,区分运转在端口27017、27018和27019上,并经常使用/data/rs0-0、/data/rs0-1和/data/rs0-2目录作为数据目录。这些节点将智能参与复制集rs0中。
以下是向复制集中拔出一些数据的示例:
mongo --port 27017> use mydb> db.mycol.insertOne({"name": "Alice"})
此命令将衔接到运转在端口27017上的MongoDB节点,并在mydb数据库的mycol汇合中拔出一个名为Alice的文档。
以下命令将备份整个复制集,并将备份文件保留在名为rs0_backup的目录中:
mongodump --host rs0/localhost:27017,localhost:27018,localhost:27019 --out rs0_backup
此命令将备份复制集rs0的一切节点,并将备份文件保留在名为rs0_backup的目录中。
以下命令将从名为`rs0_backup`的备份文件中恢复整个复制集:
mongorestore --host rs0/localhost:27017,localhost:27018,localhost:27019 rs0_backup
此命令将经常使用名为rs0_backup的备份文件恢复复制集rs0的一切节点。恢复操作将恢复一切汇合和文档,以及索引、用户、角色和权限等消息。
在MongoDB中,复制集是一组相互复制数据的MongoDB实例汇合。复制集提供了数据冗余和高可用性,以确保即使在某个节点出现缺点时,系统依然可用。
复制集中蕴含多个节点,其中一个节点被选举为主节点,担任解决一切写入操作。其余节点称为从节点,它们复制主节点的数据并接纳读取恳求。
当主节点出现缺点时,复制集会智能启动缺点转移,选用一个从节点作为新的主节点来继续解决写入恳求。这种智能缺点转移保证了系统的继续可用性和数据的完整性。
复制集还具备以下好处:
缺点转移是复制集中的一个关键概念,它指的是在主节点缺点或无法用时,智能选用新的主节点。缺点转移环节包括以下步骤:
缺点转移环节通常是智能启动的,MongoDB会智能解决主节点的缺点并选举新的主节点,无需人工干预。
总结: 本文详细引见了MongoDB数据备份和恢复的战略,展现了经常使用mongodump和mongorestore启动备份和恢复的示例。此外,还引见了MongoDB中复制集和缺点转移的概念,复制集和缺点转移是MongoDB提供的关键性能,它们为数据冗余、高可用性和缺点恢复提供了弱小的允许。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7044.html