mongodump是mongodb提供的用於建立資料庫備份的實用程式。這是一個非常有用的實用程序,可以考慮非常有效地為即時伺服器資料庫進行備份。對於資料庫還原,需要使用mongorestore指令。
1、備份mongodb資料庫(mongodump)
有多種備份MongoDB資料庫的方法。使用mongodump指令進行所有資料庫備份、單一集合備份或單一資料庫備份。
備份單一資料庫
使用此指令僅備份單一資料庫(名為mydb)。將在/backup/db/目錄中建立備份。
$ mongodump --db mydb --out / backup / db /
-db - 要備份的資料庫名稱
-out - 資料庫備份位置。這將建立具有資料庫名稱的資料夾。
可以為遠端資料庫連線備份指定主機,端口,使用者名稱和密碼,如下所示。
$ mongodump --host 10.0.1.7 --port 27017 --username admin --password somepassword --db mydb --out / backup / db /
備份所有資料庫
要備份所有資料庫,只需按以下命令運行即可。這裡/ data / db /是你的mongodb資料目錄的位置,/ backup / db是備份目錄的位置。
$ mongodump --out / backup / db /
可以為遠端資料庫指定主機,連接埠。
備份單一集合
此指令將從資料庫備份單一集合。備份檔案將會在dump / mydb /目錄中建立。
$ mongodump --collection mycollection --db mydb --out / backup / db /
2、使用mongorestore還原MongoDB資料庫
mongorestore是用來還原mongodb資料庫備份的命令列工具。這裡/ data / db /是你的mongodb資料目錄的位置,/ backup / db是備份目錄的位置。
$ mongorestore --db mydb --drop / backup / db / mydb
-drop - 如果已經存在,將刪除資料庫。
只需將備份檔案移至遠端伺服器並在那裡運行相同的命令即可恢復備份。
3、MongoDB備份Shell腳本
可以在排程器中輕鬆安排以下腳本,以定期備份資料庫。建立如下檔案
$ vi /backup/mongo-backup.sh
將以下內容新增到檔案中。相應地更新資料庫主機名,資料庫名稱,使用者名稱和密碼。
#!/bin/sh TODAY=`date +%d%b%Y` BACKUP_DIR=/backup/db mkdir -p ${BACKUP_DIR}/${TODAY} mongodump -h <DATABASE_HOST> -d <DATABASE_NAME> -u <USERNAME> -p <PASSWRD> --out ${BACKUP_DIR}/${TODAY}/
現在在crontab中配置它以便每天運行。
0 2 * * * /backup/mongo-backup.sh
這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的MySQL影片教學專欄!
以上是如何備份,還原與遷移MongoDB資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!