MongoDB 備份(mongodump)
- 在Mongodb中我們使用mongodump命令來備份MongoDB數據。該命令可以導出所有數據到指定目錄中。
語法 mongodump命令腳本語法如下:
mongodump -h dbhost -d dbname -o dbdirectory
-h: MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017
-d: 需要備份的數據庫實例,例如:test
-o: 備份的數據存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成后,系統自動在dump目錄下建立一個test目錄,這個目錄里面存放該數據庫實例的備份數據。
步驟一 創建要備份文件的文件夾
如果沒有開啟權限
mongodump -h 127.0.0.1:27017 -d 數據庫名稱 -o ~/Desktop/數據庫備份的路徑
mongodump -h 127.0.0.1:27017 -o ~/Desktop/數據庫備份的路徑
如果開啟了權限設置
我們也可以使用賬號密碼的方式備份指定用戶的數據庫
設置了超級管理員也可以使用如下方法備份
使用如下命令將mogo數據庫備份到bak文件夾中
恢復(mongorestore)
mongodb使用 mongorestore 命令來恢復備份的數據。
語法 mongorestore命令腳本語法如下:
mongorestore -h hostname:port -d dbname --dir path
-host <:port>, -h <:port>: MongoDB所在服務器地址,默認為: localhost:27017
-db , -d : 需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
--dir: 指定備份的目錄
恢復備份
命令格式如下:
如果沒有開啟權限
mongorestore -h 127.0.0.1:27017 -d 數據庫名稱 --dir ~/Desktop/數據庫備份的路徑
mongorestore -h 127.0.0.1 -dir ~/Desktop/數據庫備份的路徑
將之前備份在bak文件夾下的mogo數據庫備份恢復到剛才刪除的數據里面
下面是我添加了管理員權限之后的備份命令
如果開啟了權限設置
MongoDB數據導入與導出
導出工具:mongoexport 1、概念: mongoDB中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。 2、語法: mongoexport -d dbname -c collectionname -o file --type json/csv -f field
參數說明:
- d :數據庫名
- c :collection名
- o :輸出的文件名
- -type : 輸出的格式,默認為json
- f :輸出的字段,如果-type為csv,則需要加上-f "字段名"
示例:
mongoexport -d class1804 -c books -o ~/桌面/dump/books.json --type json
mongoexport -d class1804 -c books -o ~/桌面/dump/books.csv --type csv -f 'by_user,likes'
數據導入:mongoimport 1、語法: mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv
參數說明:
- d :數據庫名
- c :collection名
- -type :導入的格式默認json
- f :導入的字段名
- -headerline :如果導入的格式是csv,則可以使用第一行的標題作為導入的字段
- -file :要導入的文件
示例:
mongoimport -d class1804 -c books --file ~/桌面/dump/books --type json
mongoimport -d class1804 -c info --file ~/桌面/dump/books --headerline --type csv