Ubuntu环境下MongoDB数据迁移步骤
mongodump
、mongorestore
等命令)。例如,使用.deb
文件安装(适配Ubuntu 20.04及以上版本):sudo dpkg -i mongodb-database-tools-ubuntu2004-x86_64-<version>.deb # 替换<version>为实际版本号
安装完成后,通过mongodump --version
验证工具是否可用。mongodump
命令将源数据库所有数据导出到指定目录(如/home/ubuntu/mongodb_backup
):mongodump --host <source_host> --port <source_port> --out /home/ubuntu/mongodb_backup
若源数据库在本地,默认--host localhost
、--port 27017
可省略。--db
(指定数据库)或--db
+--collection
(指定集合)参数缩小范围:mongodump --host <source_host> --port <source_port> --db mydb --out /home/ubuntu/mongodb_backup # 导出mydb数据库
mongodump --host <source_host> --port <source_port> --db mydb --collection users --out /home/ubuntu/mongodb_backup # 导出mydb中的users集合
scp
(安全拷贝)或rsync
等工具将备份目录传输到目标Ubuntu服务器。例如,通过scp
传输到目标服务器的/tmp
目录:scp -r /home/ubuntu/mongodb_backup <target_user>@<target_host>:/tmp
mongorestore
命令将备份数据恢复到目标数据库(默认恢复到同名数据库):mongorestore --host <target_host> --port <target_port> /tmp/mongodb_backup
newdb
)或集合(如newusers
),可通过--db
(目标数据库)或--db
+--collection
(目标集合)参数指定:mongorestore --host <target_host> --port <target_port> --db newdb /tmp/mongodb_backup/mydb # 恢复mydb到newdb
mongorestore --host <target_host> --port <target_port> --db newdb --collection newusers /tmp/mongodb_backup/mydb/users.bson # 恢复users集合到newdb.newusers
注:若目标数据库中已存在同名集合,
mongorestore
会默认覆盖(可通过--drop
参数提前删除目标集合,避免冲突)。
mongo --host <target_host> --port <target_port>
> use newdb # 切换到目标数据库
> show collections # 查看集合列表
> db.newusers.countDocuments() # 统计集合文档数量(替换为实际集合名)
> db.newusers.find().limit(5).pretty() # 查看前5条文档(替换为实际集合名)
/tmp/mongodb_backup
),释放存储空间:rm -rf /tmp/mongodb_backup
app.conf
)或环境变量,确保指向目标数据库。