一、遷移前準備
/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
)定位錯誤(如權限不足、數據格式錯誤)。