溫馨提示×

Linux環境下MongoDB的數據遷移步驟是什么

小樊
45
2025-09-14 19:23:51
欄目: 云計算

Linux環境下MongoDB數據遷移主要有以下兩種常用方式:

一、使用命令行工具(推薦)

1. 數據導出(源服務器)

  • 導出整個數據庫
    mongodump --host <源主機> --port <源端口> --db <數據庫名> --out /備份路徑
    示例:mongodump --host 192.168.1.100 --port 27017 --db mydb --out /data/backup
  • 導出指定集合
    mongodump --host <源主機> --port <源端口> --db <數據庫名> --collection <集合名> --out /備份路徑
    示例:mongodump --host 192.168.1.100 --port 27017 --db mydb --collection users --out /data/backup

2. 數據導入(目標服務器)

  • 導入整個數據庫
    mongorestore --host <目標主機> --port <目標端口> --db <目標數據庫名> /備份路徑/<數據庫名>
    示例:mongorestore --host 192.168.1.200 --port 27017 --db newdb /data/backup/mydb
  • 導入指定集合
    mongorestore --host <目標主機> --port <目標端口> --db <目標數據庫名> --collection <集合名> /備份路徑/<數據庫名>/<集合名>.bson
    示例:mongorestore --host 192.168.1.200 --port 27017 --db newdb --collection users /data/backup/mydb/users.bson

3. 注意事項

  • 確保目標服務器已安裝MongoDB且版本與源服務器一致。
  • 導入前需確認目標數據庫不存在同名集合(或使用--drop參數覆蓋)。
  • 大數據量遷移時,建議分批次導出導入,避免內存不足。

二、物理文件遷移(需停機)

1. 停止源服務器MongoDB服務

sudo systemctl stop mongod  # Systemd系統
# 或 sudo service mongod stop  # Init系統

2. 同步數據文件

使用rsync將源服務器的MongoDB數據目錄(默認/var/lib/mongodb)同步到目標服務器:

sudo rsync -avz --progress /var/lib/mongodb/ <目標用戶>@<目標IP>:/var/lib/mongodb/

3. 啟動目標服務器MongoDB

sudo systemctl start mongod  # Systemd系統
# 或 sudo service mongod start  # Init系統

4. 驗證數據

通過mongo客戶端連接目標服務器,查詢數據是否完整:

mongo --host <目標IP> --port 27017
> use <數據庫名>
> db.<集合名>.find()

三、工具遷移(可選)

  • MongoShake:支持跨機房同步、增量遷移,適合大規模數據遷移。
  • MongoDB Compass:圖形化界面操作,適合少量數據遷移。

選擇建議

  • 優先使用mongodump/mongorestore,支持靈活選擇數據庫/集合,無需停機。
  • 若需快速遷移且能接受停機,可采用物理文件同步方式。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女