MongoDB數據備份
在Mongodb中我們使用mongodump命令來備份MongoDB數據。
該命令能夠導出全部數據到指定文件夾中。
mongodump命令能夠通過參數指定導出的數據量級轉存的server。
語法
mongodump命令腳本語法例如以下:
>mongodump -h dbhost -d dbname -o dbdirectory
- -h:
MongDB所在server地址,比如:127.0.0.1。當然也能夠指定port號:127.0.0.1:27017
- -d:
須要備份的數據庫實例,比如:test
- -o:
備份的數據存放位置。比如:c:\data\dump。當然該文件夾須要提前建立,在備份完畢后,系統自己主動在dump文件夾下建立一個test文件夾。這個文件夾里面存放該數據庫實例的備份數據。
mongodump 命令可選參數列表例如以下所看到的:
語法 | 描寫敘述 | 實例 |
---|---|---|
mongodump --host HOST_NAME --port PORT_NUMBER | 該命令將備份全部MongoDB數據 | 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 |
MongoDB數據恢復
mongodb使用 mongorerstore 命令來恢復備份的數據。
語法
mongorestore命令腳本語法例如以下:
>mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
- -h:
MongoDB所在server地址
- -d:
須要恢復的數據庫實例,比如:test,當然這個名稱也能夠和備份時候的不一樣,比方test2
- --directoryperdb:
備份數據所在位置。比如:c:\data\dump\test。這里為什么要多加一個test,而不是備份時候的dump。讀者自己查看提示吧!
- --drop:
恢復的時候,先刪除當前數據,然后恢復備份的數據。
就是說,恢復后,備份后加入改動的數據都會被刪除,慎用哦。