程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> Mongodb數據庫的備份與恢復操作實例

Mongodb數據庫的備份與恢復操作實例

編輯:MongoDB綜合知識

寫在前面

本文已經假設你已經安裝好了Mongodb(2.6),並且已經開啟了auth。

用戶

首先我們添加備份和恢復數據所需的用戶,這個用戶需要有readWrite和userAdmin權限
復制代碼 代碼如下:
$ mongo
$ use admin
$ db.auth("admin", "youradminpasswd");
$ use backupdb
$ db.addUser({ user: "backup", pwd: "passwd", roles: [ "readWrite", "userAdmin" ] })

備份

注:此命令是在控制台中執行
我們使用mongodump來進行數據的備份(注意:mongodump不會備份local數據庫中內容)。

mongodump可以通過以下兩種方式來進行數據的備份:

連接到mongod或者mongos

直接訪問數據文件

這個工具可以備份整個服務器、單個database或者單個collection的數據,也可以通過查詢語句只備份collection中的部分數據。

如果不帶任何參數直接執行mongodump,那麼它會去連接本地(127.0.0.1或者localhost)27017端口上的MongoDB實例,並且會創建名為dump的備份。
復制代碼 代碼如下:
$ mongodump --host mongodb.example.net --port 27017 --db test --collection some --username backup --password passwd

以上會使mongodump連接到mongodb.example.net:27017上的mongod,並且把dbtest中的somecollection備份到dump目錄下

注意:從Mongodb2.2版本開始,mongodump使用的數據格式與舊版本的mongod實例不兼容。所以不要使用新版本(>=2.2)的mongodump去備份舊數據。


恢復

使用mongodump備份的數據,需要使用mongorestore來恢復。

mongorestore恢復數據的方式與mongodump相對應,也是分為兩種:

連接到mongod或者mongos

直接寫入到數據文件

mongorestore既可以恢復整個備份也可以恢復一部分。
復制代碼 代碼如下:
$ 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。

注:在還原時必需在將要還原的數據庫上新建將要還原的數據與所屬的用戶   --drop的意思是刪除庫中原來的數據庫並將數據庫還原上去
此命令是在控制台中執行

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved