如何使用mongodump将MongoDB Atlas数据同步到本地磁盘并归档?
使用mongodump同步MongoDB Atlas数据到本地实例
完全可以用mongodump直接导出MongoDB Atlas的数据到本地,比逐个查询集合并更新的方法高效得多,具体操作步骤如下:
1. 获取Atlas的连接字符串
登录MongoDB Atlas控制台,进入你的集群页面,点击「Connect」按钮,选择「Connect using mongodump」(或「Connect with MongoDB Shell」,两者的连接字符串格式通用),复制生成的连接字符串,记得替换其中的<username>、<password>、<your-database>占位符为实际信息。
2. 用mongodump导出Atlas数据到本地
在本地终端执行以下命令,直接将Atlas的数据导出到指定本地路径:
# 导出指定数据库 mongodump --uri "mongodb+srv://<username>:<password>@cluster0.mongodb.net/<your-database>" --out /path/to/local/backup # 导出所有数据库(去掉路径中的<your-database>即可) mongodump --uri "mongodb+srv://<username>:<password>@cluster0.mongodb.net/" --out /path/to/local/backup
参数说明:
--uri:指定MongoDB Atlas的连接地址--out:指定本地存储备份文件的目录路径
如果需要压缩备份文件节省磁盘空间,可以添加--gzip参数:
mongodump --uri "mongodb+srv://<username>:<password>@cluster0.mongodb.net/<your-database>" --out /path/to/local/backup --gzip
3. 将备份恢复到本地mongod实例
导出完成后,用mongorestore命令把备份数据恢复到本地运行的MongoDB实例:
# 常规恢复 mongorestore --uri "mongodb://localhost:27017" /path/to/local/backup # 如果备份时用了--gzip,恢复也要加该参数 mongorestore --uri "mongodb://localhost:27017" /path/to/local/backup --gzip
4. 整合到你的自动备份脚本
把原来脚本中针对本地MongoDB的mongodump命令,替换成上面的Atlas导出命令即可。后续上传AWS存储桶的流程无需改动,这样脚本就能自动备份Atlas的实时数据,同时同步到本地实例。
注意事项
- 确保本地安装的MongoDB工具(
mongodump/mongorestore)版本与Atlas集群的MongoDB版本尽量接近,避免兼容性问题。 - 如果密码包含特殊字符(如
@、&),需要对其进行URL编码(例如@替换为%40,&替换为%26)。
内容的提问来源于stack exchange,提问作者mrSidX
相关产品推荐
相关产品推荐

