1. 迁移前的准备工作
在Debian上进行MongoDB数据迁移前,需完成以下基础准备:
sudo apt update && sudo apt install mongodb-clients命令安装mongodump、mongorestore等官方工具,确保能执行备份与恢复操作。mongodump备份源数据库,防止数据丢失。例如备份mydb数据库:mongodump --host source_host --port 27017 --username user --password pass --authenticationDatabase admin --db mydb --out /backup/mongodb/$(date +%Y%m%d)。/etc/mongod.conf配置正确(如bindIp设置为允许远程连接的IP,port为27017或自定义端口),并通过systemctl status mongod确认服务运行正常。2. 核心迁移方法:官方工具链(mongodump/mongorestore)
mongodump与mongorestore是MongoDB官方推荐的迁移工具,适用于全量或增量数据迁移,步骤如下:
mongodump导出源数据库数据到指定目录(如/backup/mongodb),命令示例:mongodump --host source_host --port 27017 --username user --password pass --authenticationDatabase admin --db mydb --out /backup/mongodb。scp(scp -r user@source_host:/backup/mongodb /local/backup)或rsync(rsync -avz user@source_host:/backup/mongodb /local/backup)工具。mongorestore导入备份数据,命令示例:mongorestore --host localhost --port 27017 --username user --password pass --authenticationDatabase admin /backup/mongodb/mydb。mongodump中添加--oplogReplay参数(mongodump --host source_host --port 27017 --username user --password pass --authenticationDatabase admin --db mydb --oplogReplay --out /backup/mongodb_incremental),然后在mongorestore中同样添加--oplogReplay参数恢复增量数据。3. 替代迁移工具:第三方解决方案
若需更高效的迁移(如大规模数据、跨数据中心),可使用以下第三方工具:
./mongo-shake -conf mongo-shake.conf),通过配置文件指定源和目标数据库地址。4. 关键注意事项
/var/lib/mongodb)的权限正确(chown -R mongodb:mongodb /var/lib/mongodb),避免服务无法启动;同时确认防火墙允许MongoDB端口(27017)的流量(如UFW命令sudo ufw allow 27017)。mongo --db mydb --eval 'db.getCollectionNames()'),确认集合数量与源数据库一致;同时检查数据完整性(如抽样比对关键字段值)。