首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MongoDB-备份(Dump)和还原(restore)

MongoDB-备份(Dump)和还原(restore)

作者头像
运维小路
发布2026-01-26 12:52:11
发布2026-01-26 12:52:11
1380
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。

MySQL

PostgreSQL

MongoDB(本章节)

Redis

Etcd

我们前面讲解的MySQL和PostgreSQL的备份和还原,都可以分为逻辑备份和物理备份,但是MongoDB是一个分布式数据库,所以他其他分布式软件一样对备份要求不是很高,所以他只有逻辑备份和还原。

如果我们是通过yum进行安装,则这2个命令模式就是自带的,但是如果我们是采用二进制来进行部署,则是没有这2个命令的。所以我们这里需要首先部署这2个文件。

代码语言:javascript
复制
#下载解压放置到对应的PATH里面就可以正常执行
https://www.mongodb.com/try/download/database-tools

逻辑备份(mongodump)

代码语言:javascript
复制
# 备份整个实例
mongodump --host localhost --port 27017 --out /backup/mongodb/

# 备份指定数据库
mongodump --db mydb --out /backup/mongodb/

# 备份指定集合
mongodump --collection mycollection --db mydb --out /backup/mongodb/

# 使用认证
mongodump --username admin --password password --authenticationDatabase admin

# 压缩备份
mongodump --gzip --out /backup/mongodb/

# 指定查询条件备份
mongodump --query '{"date": {"$gt": {"$date": "2023-01-01T00:00:00Z"}}}'

下面就是真实备份效果,备份全部库默认会跳过local和config库,如果要备份这两个库需要使用指定库备份。

代码语言:javascript
复制
mongodump --host localhost --port 27017 --out /backup/mongodb/
2025-12-24T23:42:02.907+0800	writing admin.system.users to /backup/mongodb/admin/system.users.bson
2025-12-24T23:42:02.925+0800	done dumping admin.system.users (4 documents)
2025-12-24T23:42:02.925+0800	writing admin.system.version to /backup/mongodb/admin/system.version.bson
2025-12-24T23:42:02.926+0800	done dumping admin.system.version (2 documents)
2025-12-24T23:42:02.926+0800	writing abcd.users to /backup/mongodb/abcd/users.bson
2025-12-24T23:42:02.926+0800	writing test.demo to /backup/mongodb/test/demo.bson
2025-12-24T23:42:02.938+0800	done dumping abcd.users (1 document)
2025-12-24T23:42:02.948+0800	done dumping test.demo (1 document)
代码语言:javascript
复制
mongodump --host localhost --port 27017 --db local --out /backup/mongodb/
2025-12-24T23:45:48.110+0800	writing local.startup_log to /backup/mongodb/local/startup_log.bson
2025-12-24T23:45:48.112+0800	done dumping local.startup_log (14 documents)

逻辑还原(mongorestore)

代码语言:javascript
复制
# 还原整个备份
mongorestore --host localhost --port 27017 /backup/mongodb/

# 还原指定数据库
mongorestore --db mydb /backup/mongodb/mydb/

# 还原指定集合
mongorestore --collection mycollection --db mydb /backup/mongodb/mydb/mycollection.bson

# 还原时删除已存在的集合
mongorestore --drop /backup/mongodb/

# 还原压缩备份
mongorestore --gzip /backup/mongodb/

# 还原到不同的数据库名
mongorestore --nsFrom 'mydb.*' --nsTo 'mydb_restore.*' /backup/mongodb/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-24,如有侵权请联系 [email protected] 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 [email protected] 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoDB(本章节)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档