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在日志中記錄所有的操作,這可以防止恢復操作異常中斷(斷電、磁盤故障)而引起的數據損壞
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM