通常來說針對collection使用mongoexport導出,而Mongodump可以單表,也可以整庫。同時mongoexport輸出的JSON比Mongodump的BSON可讀性更高,JSON文件可以直接進行讀取操,操作拼接指令來insert還原數(shù)據(jù)。
創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):重慶服務(wù)器托管,成都服務(wù)器租用,重慶服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。--備份單個表(用戶lych,密碼abcde,導出的是lych_db庫里的aaa collecion)
mongodump -u lych -p abcde --port 27017 --authenticationDatabase admin -d lych_db -c aaa -o /tmp/abc.bak
---備份單庫則去掉上面的 -c aaa則可
----而備份所有庫,則再去掉 -d lych_db
(--備份所有庫推薦使用添加--oplog參數(shù)(基于某一時間點的快照),只能用于備份全部庫時,單庫和單表不適用:
mongodump -h 127.0.0.1 --port 80000 --oplog -o /tmpt/abc.bak (部分配置文件可以對bond_ip做了相應(yīng)配置,需要注意)
--恢復時要加上--oplogReplay參數(shù):
mongorestore -h 127.0.0.1 --port 80000 --oplogReplay /tmp)
--恢復單個庫:
mongorestore -u xx -p xxx --port 80000 --authenticationDatabase admin -d xxx /tmp
--恢復所有庫:
mongorestore -u superuser -p 123456 --port 80000 --authenticationDatabase admin /tmp/bak
(如果備份的時候加了--gzip參數(shù),那么恢復的時候也要帶上--gzip)
--恢復單表
mongorestore -u xxx -p xxx --authenticationDatabase admin -d xxx -c xx /xxx.bson
mongorestore默認是追加,--drop參數(shù)后,會將數(shù)據(jù)庫數(shù)據(jù)清空后再導入,如果數(shù)據(jù)庫備份后又新加入了數(shù)據(jù),也會將新加的數(shù)據(jù)刪除
----mongo在關(guān)閉時也可以備份,只需要找到data目錄:
mongodump --dbpath /data/db
?mongodump導出的是bson格式,是二進制形式,不過可以使用mongo自帶的bsondump命令查看里面的數(shù)據(jù),而mongoexport導出的則是文本,可以是csv、json格式。
?JSON可讀性強但體積較大,BSON則是二進制文件,體積小但幾乎沒有可讀性。
?在一些mongodb版本之間,BSON格式可能會隨版本不同而有所不同,所以不同版本之間用mongodump/mongorestore可能不會成功,具體要看版本之間的兼容性。當無法使用BSON進行跨版本的數(shù)據(jù)遷移的時候,使用JSON格式即mongoexport/mongoimport是一個可選項。
跨版本的mongodump/mongorestore個人并不推薦,實在要做請先檢查文檔看兩個版本是否兼容(大部分時候是的)。
?JSON雖然具有較好的跨版本通用性,但其只保留了數(shù)據(jù)部分,不保留索引,賬戶等其他基礎(chǔ)信息。使用時應(yīng)該注意。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。