一、迁移前准备
/etc/mongod.conf配置文件中的数据目录(如/var/lib/mongo)、端口(默认27017)等参数设置正确。sudo提升权限)。二、常用迁移方法(mongodump+mongorestore)
mongodump工具备份指定数据库(如mydb)。命令示例:mongodump --host 源服务器IP --port 27017 --db mydb --out /tmp/mongodb_backup
该命令会将mydb数据库的所有数据备份到/tmp/mongodb_backup/mydb目录。scp或rsync将备份目录传输到目标CentOS服务器。例如:scp -r /tmp/mongodb_backup user@目标服务器IP:/home/user/mongodb_backup
或使用rsync(支持断点续传):rsync -avz /tmp/mongodb_backup user@目标服务器IP:/home/user/mongodb_backup
mongorestore工具恢复数据。若目标数据库不存在会自动创建,命令示例:mongorestore --host localhost --port 27017 --db mydb /home/user/mongodb_backup/mydb
若需覆盖目标数据库(需提前删除),可添加--drop参数:mongorestore --host localhost --port 27017 --db mydb --drop /home/user/mongodb_backup/mydb
mongo mydb
> db.collection_name.find().count() # 对比源数据库的集合数量
> db.collection_name.findOne() # 检查样本数据是否一致
三、替代方法(适合不同场景)
sudo systemctl stop mongod;/var/lib/mongo)到目标服务器:rsync -avz /var/lib/mongo/ user@目标服务器IP:/var/lib/mongo/;sudo systemctl start mongod;mongoexport --host 源服务器IP --port 27017 --db mydb --collection mycollection --out /tmp/mycollection.json;mongoimport --host 目标服务器IP --port 27017 --db mydb --collection mycollection --file /tmp/mycollection.json;四、迁移后检查
mongodb://目标服务器IP:27017),测试是否能正常连接。mongostat或db.currentOp()命令检查目标数据库的性能(如查询延迟、写入吞吐量)。/var/log/mongodb/mongod.log)定位错误(如权限不足、数据格式错误)。