Mongo03 備份與恢復

2021-10-10 09:53:18 字數 1745 閱讀 3484

使用mongoexport命令,將乙個collection匯出為json格式或csv格式的檔案。

從mongodb4.2開始,mongoexport就不再隨著mongodb一起安裝了,需要單獨安裝,各平台安裝位址在這裡。

要注意,linux和macos系統中,需要將工具拷貝到$path環境變數的目錄,也就是mongod命令所在的目錄,我的mac上位址是usr/local/mongodb/bin,這樣才可以直接在命令列中使用

mongoexport -d dbname -c collectionname -o file --type json/csv -f field
引數說明:

例子:

sudo mongoexport -d lucky-test -c test_income -o a.json
使用mongoimport進行匯入,上面安裝mongoexport時,就安裝了mongoimport命令,如果沒有安裝需要按照上面的步驟進行安裝

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
引數說明:

使用mongodump備份(需要與mongoexport同樣進行安裝)

mongodump -h host -d dbname -o directory

mongodump -h ip --port 埠 -u 使用者名稱 -p 密碼 -d 資料庫 -o 檔案存在路徑

# mongodump -d test -o /data/

引數說明:

-d:需要備份的資料庫名稱,如db_test,如果想匯出所有資料庫,可以去掉-d-o:備份的資料存放位置,如:~\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立乙個db_test目錄,這個目錄裡面存放該資料庫例項的備份資料

使用mongorestore備份(需要與mongoexport同樣進行安裝)

mongorestore -h host -d dbname --directoryperdb dbdirectory

# mongorestore --host=10.0.0.25 --port=27017 --db ztjy --dir=ztjy/

引數說明:

-d:需要恢復的資料庫名稱,如:db_test,當然這個名稱可以不同於備份的時候,比如new_db--directoryperdb:備份資料檔案所在位置,如:~\dump\db_test(這裡之所以要加db_test子目錄,從mongoretorehelp中的--directoryperdb說明了,「每乙個db在乙個單獨的目錄」。)

mongo 備份恢復

在mongo2.2.2版本中,mongodump的collections檔案,會同步生成乙個metadata.json檔案。這與之前的版本不同。目前檢視到的該json檔案中只包含了索引資訊。該資訊在mongorestore時會使用到,恢復完畢資料後,會建立索引。但該json檔案中不包含分片資訊,所以...

mongo自動備份指令碼和恢復

一 建立mongodb備份目錄 mkdir p data mongodb bak mongodb bak now mkdir p data mongodb bak mongodb bak list 二 新建mongodb資料庫備份指令碼 data mongodb bak mongodb bak.sh...

mongo備份恢復(單機和複製集)

邏輯匯出,可以作做跨版本和公升級匯出 mongoexport uroot p port 27021 d test c t1 authenticationdatabase admin o service t1.json 匯出csv 格式 f 後跟列名 j 開啟併發匯入 mongoexport uroo...