mongodb拷貝資料庫copyDatabase()。實現釋放磁碟空間的方法。

來源:互聯網
上載者:User

標籤:http   ar   檔案   資料   sp   on   c   時間   ef   

下面我們一起來看看關於mongodb拷貝資料庫copyDatabase()。
  實現釋放磁碟空間的方法,希望文章對各位同學會有所協助。
  db.copyDatabase("from","to","127.0.0.1:16161"); 將127.0.0.1上的from庫。拷貝到to庫。
  這樣做有一個額外的好處。就是from庫中可能是刪除過資料的庫。
  看我們知道刪除資料時磁碟空間是不會被釋放的。
 
  參考部落格裡的另一篇文章:mongodb刪除集合後磁碟空間不釋放 肯能造成佔用很大磁碟空間。
  雖然可以用 db.repairDatabase()修複資料。
  但這種方法有兩個不好的地方。

  1.在生產上操作如果意外停止可能會造成資料無法恢複的危險。
  2.如果磁碟空間不足,小於現在這個db時間佔有的空間,這種情況是用不了 db.repairDatabase()的。
  

所以介紹用db.copyDatabase可以備份複製資料的方法。
   1.db.copyDatabase("from","to","127.0.0.1:16161");複製出一個新的to資料庫 。
   這個已經是最小資料佔用的資料。會在資料目錄下產生to的相關資料檔案。
   2.將所有程式的配置從from庫改為to庫。測試無誤。
   3.這時可以刪除from庫。方法。use from 後 db.dropDatabase()。這個方法的好處是可以時間將磁碟上的資料刪除掉。
   節省出很大的空間。 磁碟緊張的同學可以參考以上方法。
  

http://www.111cn.net/database/MongoDB/56304.htm

mongodb拷貝資料庫copyDatabase()。實現釋放磁碟空間的方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.