mongoDB的匯出 匯入 執行時的備份

2021-07-14 15:48:55 字數 3153 閱讀 5988

1、單個集合的匯出,我用的都是帶驗證的開啟方式   

c:\users\administrator>mongoexport -d text1 -c poot1 -o d:/aaaa.json -u no1 -p 1

23 --authenticationdatabase admin

-d 是資料庫名

-c是集合名

-o是匯入的存放位址

-u是使用者名稱,我這裡用的是超級管理員

-p是密碼,

--authenticationdatabase admin   這是是必須的,否則會報如下錯誤:

2016-07-09t17:35:49.237+0800    error connecting to db server: server returned e

rror on sasl authentication step: authentication failed.

2、匯入單個的集合,我用的都是帶驗證的開啟方式  

c:\users\administrator>mongoimport --db text1 --collection poot1 -u no1 -p 123 -

-file d:/aaaa.json --authenticationdatabase admin

2016-07-09t18:00:28.769+0800 connected to: localhost

2016-07-09t18:00:29.095+0800 imported 4 documents

上面的2個匯入、匯出有個很大的問題,就是在操作的時候,一切的增刪改查都不能執行了,相當於是中斷掉了。這是我們不可能允許的。

3、4、5、6講的就是執行時的備份

3、整個資料庫的匯出,我用的都是帶驗證的開啟方式  

c:\users\administrator>mongodump -d text1 -o d:/aaaa.bak -u no1 -p 123 --authent

icationdatabase admin

和上觀的解釋一樣一樣的。

4、匯入整個的資料庫,我用的都是帶驗證的開啟方式   ----------------注意,得把要匯入的庫找到才行 --dorp上留意

c:\users\administrator>mongorestore -u no1 -p 123 -d text1 --drop d:\aaaa\text1

--authenticationdatabase admin

2016-07-09t18:16:26.423+0800 building a list of collections to restore from d

:\aaaa\text1 dir

2016-07-09t18:16:26.427+0800 reading metadata for text1.poot1 from d:\aaaa\te

xt1\poot1.metadata.json

2016-07-09t18:16:26.428+0800 reading metadata for text1.aaa from d:\aaaa\text

1\aaa.metadata.json

2016-07-09t18:16:26.765+0800 restoring text1.poot1 from d:\aaaa\text1\poot1.b

son2016-07-09t18:16:27.095+0800 restoring text1.aaa from d:\aaaa\text1\aaa.bson

2016-07-09t18:16:27.095+0800 restoring indexes for collection text1.poot1 fro

m metadata

2016-07-09t18:16:27.096+0800 restoring indexes for collection text1.aaa from

metadata

2016-07-09t18:16:27.097+0800 finished restoring text1.poot1 (4 documents)

2016-07-09t18:16:27.097+0800 finished restoring text1.aaa (1 document)

2016-07-09t18:16:27.098+0800 done

c:\users\administrator>

5、遠端資料匯出。----------------沒有測試過

c:\users\administrator>mongodump --host 134.22.33.55 --port 27017 -d text1 -o d:/aaaa.bak -u no1 -p 123 --authent

icationdatabase admin

6、遠端匯入整個庫,

我用的都是帶驗證的開啟方式   ----------------沒有測試過

c:\users\administrator>mongorestore --host 134.22.33.55 --port 27017 -u no1 -p 123 -d text1 --drop d:\aaaa\text1

--authenticationdatabase admin

但執行時的備份也有問題,那就是緩衝區的資料不會被備份起來,也就是說會丟資料。下面就需要用到鎖的概念,備份之前先把緩衝區的資料存到資料庫再備份,備份完了再解鎖。這樣做出來就完美了。

7、加鎖 -------------------------記住要在admin裡做操作

> use admin

switched to db admin

> db.runcommand()

>

8、解鎖

> db.currentop()

9、資料庫修復,在有資料不全,髒資料的情況下使用,及耗效能。不建意在生產環境使用

> db.repairdatabase()

MongoDB匯入匯出

cd mongodb bin mongoimport h hostname d database c collection type json csv file file path headerline upsert 引數 d 指定匯入的資料庫 c 指定匯入的集合 type 指定匯入的檔案型別,預設...

MongoDB的匯入匯出

一 mongodb的匯出功能 mongoexport h dbhost d dbname c collectionname o output 引數說明 h 資料庫位址 d 指明使用的庫 c 指明要匯出的集合 o 指明要匯出的檔名 檔案支援多種格式,如txt,wps,xls等 具體示例 mongoex...

執行時異常

常見的幾種如下 nullpointerexception 空指標引用異常 classcastexception 型別強制轉換異常。illegalargumentexception 傳遞非法引數異常。arithmeticexception 算術運算異常 arraystoreexception 向陣列中...