Mongodb开启认证时的备份和恢复(mongodump 和mongorestore )

mongodump与mongoexport的区别了解

mongodump导出的是bson格式,是二进制形式,不过可以使用mongo自带的bsondump命令查看里面的数据,而mongoexport导出的则是文本,可以是csv、json格式。
.
JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。
.
在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是一个可选项。跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)。
.
JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。

--备份单个表
mongodump -u  root -p 123456  --port 27017 --authenticationDatabase admin -d bill -c d -o /root/mongodb/bill_d_bak_201507021701.bak

--备份单个库
mongodump  -u  root -p 123456 --port 27017  --authenticationDatabase admin -d bill -o  /root/mongodb/

--备份所有库
mongodump  -u  root -p 123456 --authenticationDatabase admin  --port 27017 -o /root/bak 

--备份所有库推荐使用添加--oplog参数的命令,这样的备份是基于某一时间点的快照,只能用于备份全部库时才可用,单库和单表不适用:
mongodump -h 127.0.0.1 --port 27017   --oplog -o  /root/bak 

--同时,恢复时也要加上--oplogReplay参数,具体命令如下(下面是恢复单库的命令):
mongorestore  -d swrd --oplogReplay  /home/mongo/swrdbak/swrd/

--恢复单个库:
mongorestore  -u  root -p 123456 --port 27017  --authenticationDatabase admin -d bill   /root/mongodb/

--恢复所有库:
mongorestore   -u  root -p 123456 --port 27017  --authenticationDatabase admin  /root/bak

--恢复单表
mongorestore -u  root -p 123456  --authenticationDatabase admin -d bill -c d /root/mongodb/bill_d_bak_201507021701.bak/bill/d.bson

mongodump在mongo关闭时,也是可以备份的,不过需要指定数据目录,命令为:

mongodump  --dbpath  /data/db

压缩备份,恢复

#导入gz包恢复数据
mongorestore -u root -p 123456   --port 27017 --authenticationDatabase admin --gzip --archive=video.gz --db video

#gz备份,默认备份全部数据
mongodump --port 25117 -u root -p 27017   --gzip --authenticationDatabase "admin" --out /opt/mongodb_back 

#gz备份单个数据root
mongodump --port 25117 -u root -p 27017   --db 数据库 --gzip --authenticationDatabase "admin" --out /opt/数据库.gz
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 头歌 MongoDB 实验 - 数据备份恢复MongoDB 中,数据备份恢复是非常重要的操作。备份可以保证数据的安全性,而恢复可以在数据丢失或损坏快速恢复数据。 备份 MongoDB 数据库的方法有很多种,其中最常用的是使用 mongodump 命令。该命令可以备份整个数据库或者备份指定的集合。备份的数据可以保存到本地文件系统或者远程服务器。 恢复 MongoDB 数据库的方法也有很多种,其中最常用的是使用 mongorestore 命令。该命令可以将备份的数据恢复MongoDB 数据库中。恢复的数据可以从本地文件系统或者远程服务器中获取。 在进行数据备份恢复操作,需要注意以下几点: 1.备份恢复的数据必须是同一版本的 MongoDB。 2.备份恢复的数据必须是同一架构的 MongoDB。 3.备份恢复的数据必须是同一集合或者数据库。 4.备份恢复的数据必须具有相同的索引。 5.备份恢复的数据必须具有相同的存储引擎。 总之,备份恢复 MongoDB 数据库是非常重要的操作,需要仔细考虑和执行。 ### 回答2: MongoDB是一种非关系型数据库,具有高可扩展性和灵活性等优点,但是在使用过程中也存在一些问题,例如数据备份恢复。为了解决这些问题,我们需要掌握备份恢复数据的方法。 MongoDB提供了多种备份恢复数据的方法,包括mongodumpmongorestoremongoexport和mongoimport等。mongodumpmongorestore备份恢复Mongodb数据库的基本工具,它们支持备份恢复整个数据库或只备份恢复特定的集合。 mongodump命令可以备份Mongodb数据库,并将其输出到一个目录中,例如: mongodump --db test --out /data/backup 这个命令将备份test数据库,并将其输出到/data/backup目录中。 mongorestore命令可以恢复Mongodb数据库中的备份数据,例如: mongorestore --db test /data/backup/test 这个命令将恢复test数据库中的备份数据,备份数据在/data/backup/test目录中。 mongoexport和mongoimport是备份恢复Mongodb数据库中的特定数据的工具,例如: mongoexport --db test --collection users --out /data/backup/users.json 这个命令将备份test数据库中的users集合,并将其输出到/data/backup/users.json文件中。 mongoimport命令可以将备份数据导入到Mongodb数据库中,例如: mongoimport --db test --collection users --file /data/backup/users.json 这个命令将将备份数据从/data/backup/users.json文件中导入到test数据库中的users集合中。 在备份恢复Mongodb数据库,我们还需要注意以下几点: 1.备份恢复Mongodb版本应该保持一致。 2.备份数据应该定期进行,并最好不要保存在与生产环境相同的服务器上。 3.恢复数据应该先停止Mongodb服务器。 4.备份恢复数据应该使用管理员权限。 5.备份恢复数据应该测试备份数据,确保备份的数据可用性。 综上所述,备份恢复Mongodb数据库是非常重要的工作,我们应该掌握备份恢复数据的方法,并按照最佳实践进行操作,以确保数据安全和可用性。 ### 回答3: 数据备份恢复MongoDB中非常重要的操作之一。这至关重要,因为如果您可以成功备份恢复数据,那么任何候都可以轻松地找回丢失的数据。在MongoDB备份恢复数据也很容易,同样重要的是,您需要保证这样一件事情,即您的数据一定是安全的。 备份的方法: 1.使用mongodump备份数据 mongodumpMongoDB shell提供的备份命令,用于备份整个数据库和集合。mongodump生成指定的集合或整个数据库的BSON文件,并将其写入到文件中。备份的命令,如下所示: mongodump -d dbname -o /backup/path/to/dir/ 其中,"-d"指定待备份的数据库;"-o"指定备份数据存放的目录。 2.使用mongodump备份分片集合数据 如果使用的是分片集合,可以使用mongodump对其进行备份mongodump命令只备份所在分片的当前块数据。异常分片数据需要人工处理。备份分片集合命令,如下所示: mongodump -h 127.0.0.1 -d test -c shardcollection -o /backup/path/ 其中,“shardcollection”是需要备份的分片集合名称,127.0.0.1是mongos的IP地址,"test"是指数据库名称,"-o"指定备份路径。 3.使用mongodump备份复制集数据 如果使用的是复制集,则可以使用mongodump命令对其进行备份。在备份后,可以通过指定的BSON文件进行数据恢复备份复制集数据命令,如下所示: mongodump -h 127.0.0.1 --port 27017 -d exampledb --authenticationDatabase admin -u user1 -p pass1 -o backupdir 其中,“user1”和“pass1”是用于验证的凭据,在运行mongodump命令使用。 恢复的方法: 1.使用mongorestore恢复数据 mongorestoremongo shell提供的恢复命令,用于将用mongodump备份生成的BSON文件恢复MongoDB中。恢复数据命令,如下所示: mongorestore -d dbname --dir /backup/path/to/db/ 其中,“dbname”是指定要恢复的数据库名称,“--dir”是mongodump命令备份的数据存放路径。 2.使用mongorestore恢复数据到分片集合 如果需要将已备份的分片集合数据恢复为分片集合,可以使用mongorestore命令。恢复分片集合数据命令,如下所示: mongorestore -h 127.0.0.1 -d test -c shardcollection /backup/path/to/db/shardcollection.bson 其中,“shardcollection”是需要恢复的分片集合名称;“-h”指定mongos的IP地址,“-d”指定恢复的数据库名。 以上就是MongoDB数据库备份恢复的方法,备份恢复数据也没有绝对规律,取决于应用场景,需要结合实际情况断定。为了能够使得数据一直存在。建议大家每天定备份一次,以便保持数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值