mongodb資料庫備份恢復-windows系統
阿新 • • 發佈:2018-12-28
備份語法:
mongodump命令指令碼語法如下:
>mongodump -h dbhost -d dbname -o dbdirectory
恢復資料:
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在日誌中記錄所有的操作,這可以防止恢復操作異常中斷(斷電、磁碟故障)而引起的資料損壞
- -h:
- -d:
- -o:
- --host <:port>, -h <:port>:
- --db , -d :
- --drop:
- <path>:
- --dir:
描述 | |
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 |