Database
Mongo restore 命令減少數據庫大小
我有兩個 mongo 數據庫集群,每個集群有三台機器。說 Cluster1 和 Cluster2。為了降低成本,我必須終止 Cluster2。所以我從 Cluster2 的主機上獲取了一個數據庫的 mongodump,它是 8.5 GB。我將該轉儲文件夾複製到 Cluster1 的主機並在那裡執行 mongorestore 命令,但是當我
show dbs
在 Cluster1 上執行命令時,它顯示大小為 4.7GB。所以我的問題是,我是否犯了任何錯誤或 mongorestore 沒有恢復索引或任何其他原因?
您的儲存大小(這
show dbs
表明)可能會在還原時發生變化,特別是如果原始部署有大量空間可供重用(例如,由於文件刪除)。Amongodump
備份數據和索引定義,該mongorestore
過程將為恢復的集合重建數據文件和索引。為了更好地比較原始部署和恢復的部署,您應該查看
db.stats()
輸出。假設備份和恢復過程沒有任何問題,兩個部署應該有相似數量的數據庫、集合、索引和對象。如果您的原始部署在執行時(或之後)被主動寫入
mongodump
,結果可能會略有不同。例如,通過
mongo
shell 輸出所有數據庫的統計資訊:db.adminCommand('listDatabases').databases.forEach(function(d) { printjson(db.getSiblingDB(d.name).stats()); })