Mongodb 備份與恢復(fù)工具簡介
Mongodb自帶了其備份工具mongodump, 恢復(fù)工具 mongorestore, 當(dāng)然還有 mongoexport 用來進行數(shù)據(jù)集的導(dǎo)出,mongoimport 進行數(shù)據(jù)集的導(dǎo)入。這兩套工具必然是有差異的,接下來將介紹一下每個工具的使用方式和工具之間的區(qū)別和比較。

mongodump
一般用于全庫導(dǎo)出的,用于將數(shù)據(jù)庫的所有數(shù)據(jù)導(dǎo)出到指定的目錄以及導(dǎo)出為指定的壓縮文件。常見的參數(shù)如下:
--uri
?????? --host mongodb 服務(wù)器所在的地址,如:127.0.0.1 當(dāng)然也可以帶端口。如 127.0.0.1:27017
?????? --port 數(shù)據(jù)庫端口,mongod默認端口為27017,
?????? --db 定義要導(dǎo)出的數(shù)據(jù)庫的名稱。默認導(dǎo)出所有數(shù)據(jù)庫記錄。
?????? --username 查詢數(shù)據(jù)庫時使用的用戶名稱
?????? --password (when specifying the password as part of the URI connection string) 查詢用戶的密碼
?????? --authenticationDatabase 認證數(shù)據(jù)庫的名稱,一般為admin數(shù)據(jù)庫
?????? --authenticationMechanism 認證機制
--out
--gzip 壓縮參數(shù)。定義導(dǎo)出時,對導(dǎo)出數(shù)據(jù)進行壓縮,一般輸出以gz結(jié)尾的壓縮文件。
--archive
例子:
mongodump –uri mongodb://username:password@host:port/database? AuthSource=admin --archive= database.gz --gzip
mongorestore
用于全庫導(dǎo)入的,將mongodump導(dǎo)出的文件或壓縮文件導(dǎo)入到數(shù)據(jù)庫中。常見參數(shù)命令如下:
--uri
--drop 導(dǎo)入數(shù)據(jù)集合前,先drop 掉數(shù)據(jù)庫中的collection記錄。備份文件中沒有的collection是不會drop掉的
--gzip 壓縮參數(shù) 恢復(fù)使用--gzip參數(shù)壓縮的備份文件時使用,與--archive 參數(shù)共同使用.
--archive <=file|null> 定義導(dǎo)入的壓縮歸檔文件名稱
--dir string 備份文件目錄
例子:
mongorestore –uri mongodb://username:password@host:port/database? AuthSource=admin --drop --archive= database.gz –gzip
mongoexport
用于數(shù)據(jù)集的導(dǎo)出,常見的參數(shù)命令如下:
--uri
--db
--collection
--fields
--query
--out
--type
--noHeaderLine 默認情況下, mongoexport字段名作為第一行一個CSV輸出。——noheaderline指示mongoexport出口數(shù)據(jù)沒有字段名列表
例如:
mongoexport --db test--collection test --type csv --fields field1, field2--noHeaderLine --out test.csv
mongoimport
用于導(dǎo)入 文檔到數(shù)據(jù)庫,常見的參數(shù)命令如下:
--host
--port
--username
--password
--fields –fieldFile 定義輸入的域
--file
--ignoreBlanks 在csv,tsv文件中忽略空域
-–headerline 只能用于csv,tsv文件中,用第一行作為文件頭
--drop 恢復(fù)數(shù)據(jù)前,先drop 掉數(shù)據(jù)庫中的collection記錄。
--upsert 插入或更新已存在的對象
例如:
mongoimport --db test--collection test --type csv –file test.csv
區(qū)別與比較
mongodump 主要導(dǎo)出整個數(shù)據(jù)庫記錄,也可某一個數(shù)據(jù)庫記錄,或不導(dǎo)出某一數(shù)據(jù)庫的記錄。導(dǎo)出的數(shù)據(jù)庫為bson格式。mongodump可以全部兼容所有數(shù)據(jù)庫類型。不會導(dǎo)出索引。導(dǎo)出數(shù)據(jù)速度快。壓縮率好。
mongoexport工具可以把一個collection導(dǎo)出成JSON格式或CSV格式的文件。主要用于數(shù)據(jù)集導(dǎo)出。此工具導(dǎo)出的json,csv可能對某些數(shù)據(jù)類型不兼容,因此不能全部數(shù)據(jù)導(dǎo)出, 導(dǎo)出數(shù)據(jù)速度相比于mongodump慢。
mongorestore用于恢復(fù)mongodump導(dǎo)出的備份文件。可以完整導(dǎo)入。在restore的過程中,索引會進行重建。導(dǎo)入速度相對慢。
mongoimport 用于恢復(fù)mongoexport 導(dǎo)出的文件。由于對某些數(shù)據(jù)類型不兼容的緣故,所以不能全部導(dǎo)入所有數(shù)據(jù)。可能會失敗。導(dǎo)入速度相對快。
dds 華為云 云備份
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。