1. 程式人生 > >mongodb資料庫備份恢復-windows系統

mongodb資料庫備份恢復-windows系統

備份語法: 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目錄,這個目錄裡面存放該資料庫例項的備份資料。 恢復語法: mongodb使用 mongorestore 命令來恢復備份的資料。 語法 mongorestore命令指令碼語法如下: >mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:
MongoDB所在伺服器地址,預設為: localhost:27017
  • --db , -d :
需要恢復的資料庫例項,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
  • --drop:
恢復的時候,先刪除當前資料,然後恢復備份的資料。就是說,恢復後,備份後新增修改的資料都會被刪除,慎用哦!
  • <path>:
mongorestore 最後的一個引數,設定備份資料所在位置,例如:c:\data\dump\test。 你不能同時指定 <path> 和 --dir 選項,--dir也可以設定備份目錄。
  • --dir:
指定備份的目錄 你不能同時指定 <path> 和 --dir 選項。 1:windows系統環境下mongodb的備份恢復 備份語句: mongodump.exe -d maxiangqian -o d:\sqldata\ 完成了備份,看下具體的引數:  
描述  
mongodump --host HOST_NAME --port PORT_NUMBER mongodump --host w3cschool.cc --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY mongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME mongodump --collection mycol --db test
  恢復資料: mongorestore.exe -d maxiangqian d:\sqldata\ 我在恢復資料以前已經刪掉了原始資料庫,現在這個就沒問題了,直接恢復成功。     2:linux下mongodb資料庫的備份恢復 備份有兩種方式: 看第一種備份方式: $ mongodump --host mongodb.example.net --port 27017 --db test --collection some --username backup --password passwd 以上會使mongodump連線到mongodb.example.net:27017上的mongod,並且把dbtest中的somecollection備份到dump目錄下。 看第二種備份方式: mongodump --dbpath /data/db --out /data/backup --db test --username backup --password passwd 在這種方式下不需要執行mongod例項,如果已經運行了,必須要停掉。--dbpath指定了資料庫檔案的位置。 mongodump會直接讀取資料庫檔案,在讀取過程中會lock資料資料夾,以防其他Mongodb例項寫入而導致資料不一致。--out指定了備份存放的資料夾。   恢復方式: mongorestore恢復資料的方式與mongodump相對應,也是分為兩種: 第一種方式: $ mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username backup --password password /data/backup 以上會從/data/backup中恢復資料,其中只恢復testdb中somecollection到mongodb.example.net:27017中。如果不指定--host和--portoption,那麼mongorestore會預設使用localhost:27017。 如果只想恢復部分資料,可以使用--filteroption: $ mongorestore --filter '{"field": 1}' 以上會把dump資料夾資料中field為1的document恢復到mongod中。 第二種方式: $ mongorestore --dbpath /data/db --journal /data/backup 以上可以在mongod沒有執行的情況下把資料恢復到/data/db。--journaloption可以確保mongorestore在日誌中記錄所有的操作,這可以防止恢復操作異常中斷(斷電、磁碟故障)而引起的資料損壞