Ubuntu下MongoDB数据迁移主要有以下两种常用方式:
一、使用mongodump和mongorestore(推荐)
-
备份源数据库
mongodump --host <源主机> --port <源端口> --db <源数据库名> --out /备份路径(可选:
--username/--password认证,--collection指定单个集合) -
恢复到目标数据库
mongorestore --host <目标主机> --port <目标端口> --db <目标数据库名> /备份路径/<源数据库名>(若需覆盖同名集合,需提前删除目标集合;支持增量迁移时添加
--oplogReplay参数)
二、使用rsync物理迁移(适用于同构环境)
-
停止源服务
sudo systemctl stop mongod -
同步数据文件
sudo rsync -avz /var/lib/mongodb/ <目标服务器IP>:/var/lib/mongodb/ -
更新配置并重启
- 修改目标服务器
/etc/mongod.conf中的dbPath为新的数据目录。 - 重启服务:
sudo systemctl start mongod
- 修改目标服务器
三、其他方式
- mongoexport/mongoimport:适合小数据量或需转换格式的场景,支持JSON/CSV格式。
- 图形化工具:如MongoDB Compass,通过界面直接导出/导入。
注意事项
- 迁移前确保目标服务器有足够存储空间,且MongoDB版本兼容。
- 生产环境建议先在测试环境验证迁移流程,避免数据丢失。
- 大数据量迁移时,可结合
--numParallelCollections参数并行处理以提高效率。