mongodump和mongorestore实战

1、mongodump备份工具

  • mongodump能够在Mongodb运行时进行备份,它的工作原理是对运行的Mongodb做查询,然后将所有查到的文档写入磁盘。

  • mongodump的参数与mongoexport的参数基本一致。

mongodump关键参数如下所示:

mongodump --help查看帮助命令

  • -h,–host :代表远程连接的数据库地址,默认连接本地Mongo数据库;

  • –port:代表远程连接的数据库的端口,默认连接的远程端口27017;

  • -u,–username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;

  • -p,–password:代表连接数据库的账号对应的密码;

  • -d,–db:代表连接的数据库;

  • -c,–collection:代表连接数据库中的集合;

  • -o, --out:代表导出的文件输出目录;

  • -q, --query:代表查询条件;

  • -j,–numParallelCollections =要并行转储的集合数(默认为4)

  • –gzip,使用Gzip压缩存档;

  • –oplog,使用oplog进行时间点快照;

  • –authenticationDatabase,指定用户鉴定库

2、使用 mongodump备份单库

mongodump -h 172.16.254.130 --authenticationDatabase admin --port 27017 -u root -d db5 -o /mongodb/backup 
Enter password:
2021-03-30T16:49:36.314+0800	writing db5.db5 to /mongodb/backup/db5/db5.bson
2021-03-30T16:49:37.803+0800	done dumping db5.db5 (779617 documents)

使用mongorestore恢复

mongorestore -h 172.16.254.130 --authenticationDatabase admin --port 27017 -u root -d db5 /mongodb/backup/db5/
Enter password:
2021-03-30T17:09:24.404+0800	the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
2021-03-30T17:09:24.405+0800	building a list of collections to restore from /mongodb/backup/db5 dir
2021-03-30T17:09:24.406+0800	reading metadata for db5.db5 from /mongodb/backup/db5/db5.metadata.json
2021-03-30T17:09:24.505+0800	restoring db5.db5 from /mongodb/backup/db5/db5.bson
2021-03-30T17:09:27.403+0800	[######..................]  db5.db5  21.4MB/80.3MB  (26.7%)
2021-03-30T17:09:30.403+0800	[#############...........]  db5.db5  44.0MB/80.3MB  (54.8%)
2021-03-30T17:09:33.407+0800	[####################....]  db5.db5  67.0MB/80.3MB  (83.5%)
2021-03-30T17:09:35.172+0800	[########################]  db5.db5  80.3MB/80.3MB  (100.0%)
2021-03-30T17:09:35.172+0800	no indexes to restore
2021-03-30T17:09:35.172+0800	finished restoring db5.db5 (779617 documents, 0 failures)
2021-03-30T17:09:35.172+0800	779617 document(s) restored successfully. 0 document(s) failed to restore.

3、使用 mongodump备份全库

备份全库

 mongodump -h 172.16.254.130 --authenticationDatabase admin --port 27017 -u admin -o /mongodb/backup 
Enter password:
2021-03-30T17:50:45.221+0800	writing admin.system.users to /mongodb/backup/admin/system.users.bson
2021-03-30T17:50:45.222+0800	done dumping admin.system.users (5 documents)
2021-03-30T17:50:45.222+0800	writing admin.system.version to /mongodb/backup/admin/system.version.bson
2021-03-30T17:50:45.224+0800	done dumping admin.system.version (2 documents)
2021-03-30T17:50:45.225+0800	writing db6.db6 to /mongodb/backup/db6/db6.bson
2021-03-30T17:50:45.295+0800	writing db5.db5 to /mongodb/backup/db5/db5.bson
2021-03-30T17:50:46.720+0800	done dumping db5.db5 (779617 documents)
2021-03-30T17:50:46.907+0800	done dumping db6.db6 (900000 documents)

删除db5和db6

> show dbs
admin   0.000GB
config  0.000GB
db5     0.019GB
db6     0.021GB
local   0.000GB
> use db6
switched to db db6
> db.dropDatabase()
{ "dropped" : "db6", "ok" : 1 }
> use db5
switched to db db5
> db.dropDatabase()
{ "dropped" : "db5", "ok" : 1 }

还原全库

mongorestore -h 172.16.254.130 --authenticationDatabase admin --port 27017 -u admin  /mongodb/backup/
Enter password:
2021-03-30T17:52:48.248+0800	preparing collections to restore from
2021-03-30T17:52:48.254+0800	reading metadata for db6.db6 from /mongodb/backup/db6/db6.metadata.json
2021-03-30T17:52:48.322+0800	reading metadata for db5.db5 from /mongodb/backup/db5/db5.metadata.json
2021-03-30T17:52:48.390+0800	restoring db6.db6 from /mongodb/backup/db6/db6.bson
2021-03-30T17:52:48.414+0800	restoring db5.db5 from /mongodb/backup/db5/db5.bson
2021-03-30T17:52:51.249+0800	[#####...................]  db6.db6  20.0MB/92.7MB  (21.6%)
2021-03-30T17:52:51.249+0800	[######..................]  db5.db5  20.1MB/80.3MB  (25.0%)
2021-03-30T17:52:51.249+0800	
2021-03-30T17:52:54.253+0800	[##########..............]  db6.db6  40.7MB/92.7MB  (43.9%)
2021-03-30T17:52:54.253+0800	[###########.............]  db5.db5  40.0MB/80.3MB  (49.8%)
2021-03-30T17:52:54.253+0800	
2021-03-30T17:52:57.249+0800	[################........]  db6.db6  62.1MB/92.7MB  (67.0%)
2021-03-30T17:52:57.249+0800	[##################......]  db5.db5  60.7MB/80.3MB  (75.6%)
2021-03-30T17:52:57.249+0800	
2021-03-30T17:53:00.113+0800	[########################]  db5.db5  80.3MB/80.3MB  (100.0%)
2021-03-30T17:53:00.113+0800	no indexes to restore
2021-03-30T17:53:00.113+0800	finished restoring db5.db5 (779617 documents, 0 failures)
2021-03-30T17:53:00.248+0800	[#####################...]  db6.db6  83.0MB/92.7MB  (89.6%)
2021-03-30T17:53:01.498+0800	[########################]  db6.db6  92.7MB/92.7MB  (100.0%)
2021-03-30T17:53:01.498+0800	no indexes to restore
2021-03-30T17:53:01.498+0800	finished restoring db6.db6 (900000 documents, 0 failures)
2021-03-30T17:53:01.498+0800	restoring users from /mongodb/backup/admin/system.users.bson
2021-03-30T17:53:01.540+0800	1679617 document(s) restored successfully. 0 document(s) failed to restore.

可以看到已经还原成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值