1. 程式人生 > >mongodb 備份還原

mongodb 備份還原

cd 到本機mongodb的安裝目錄 如:C:\Program Files\MongoDB\Server\3.4\bin 可以發現裡面除了可以啟動mongodb的mongod.exe還有很多啟動程式

其中mongodump.exemongorestore.exe就分別是用來資料備份遷移的

mongodump備份資料庫

  1. 常用命令格
mongodump -h IP --port 埠 -u 使用者名稱 -p 密碼 -d 資料庫 -o 檔案存在路徑

如果沒有使用者,可以去掉-u和-p。 如果匯出本機的資料庫,可以去掉-h。 如果是預設埠,可以去掉--port。 如果想匯出所有資料庫,可以去掉-d。 如果不指定-o,檔案備份在當前目錄下

  1. 匯出所有資料庫
 mongodump 
  1. 匯出指定資料庫
mongodump -h 192.168.1.108 -d movie

匯出後會在當前的bin目錄下生成一個dump的資料夾,裡面就是備份的資料打包上傳到伺服器等待恢復

mongorestore還原資料庫

注意事項 mongorestore 並不是在mongo shell裡執行

可以執行檢視命令在哪

[email protected]:~# whereis mongorestore
mongorestore: /usr/bin/mongorestore /usr/share/man/man1/mongorestore.1.gz

然後

cd /usr/bin
  1. 常用命令格式
mongorestore -h IP --port 埠 -u 使用者名稱 -p 密碼 -d 資料庫 --drop 檔案存在路徑

--drop的意思是,先刪除所有的記錄,然後恢復。

  1. 恢復所有資料庫到mongodb中
[email protected]:# mongorestore /root/dump/myblog/  #這裡的路徑是所有庫的備份路徑
  1. 還原指定的資料庫
[email protected]:# mongorestore -d movie /root/dump/myblog/movie/  #movie這個資料庫的備份路徑
  
[email protected]
:# mongorestore -d movie_new /root/dump/myblog/movie/ #將movie還有movie_new資料庫中

這二個命令,可以實現資料庫的備份與還原,檔案格式是json和bson的。無法指寫到表備份或者還原。mongoexport 和mongoimport實現表的匯入匯出。