天天看點

Mongodb基礎操作、自動備份和還原

Mongodb基礎操作、自動備份和還原

準備條件:已下載下傳綠色版MongoDB服務軟體,本人以3.2的版本操作。

1、 基礎操作

1-在系統變量path中加上 mongodb的bin路徑

;D:\dgm\MongoDB\Server\3.2\bin;

2-建立檔案夾路徑

mongodb資料庫存儲路徑 dbpath--- D:\dgm\AutoBack\mongodbData\db 

mongodb日志存儲路徑 logpath--- D:\dgm\AutoBack\mongodbData\log\MongoDB.log

3-1建立未授權的bat啟動檔案:startMongoDbNoAuth.bat檔案(對應的dbpath,logpath路徑), 檔案内容:

mongod --dbpath F:\developSoftWare\MongoDBData\db --logpath F:\developSoftWare\MongoDBData\log\MongoDb.log

3-2建立授權的bat啟動檔案:startMongoDb.bat檔案(對應的dbpath,logpath路徑),檔案内容:

mongod --dbpath F:\developSoftWare\MongoDBData\db --logpath F:\developSoftWare\MongoDBData\log\MongoDb.log --auth

4-啟動未授權的服務startMongoDbNoAuth.bat

5-1:啟動服務後,建立startMongoDbClient.bat,檔案内容:

mongo.exe --port=27017 --host=localhost

5-啟動用戶端startMongoDbClient後,修改賬号密碼

db.system.version.find();

use admin

db.createUser(

{

user: "tlb",

pwd: "tlb",

roles: [ { role: "userAdminAnyDatabase", db: "admin" },{

                          role : "root",

                          db : "admin"

                  } ]

}

)

db.system.users.find();

db.createUser(

{

user: "tlb",

pwd: "tlb",

roles: [ { role: "readWrite", db: "dgm" } ]

}

)

db.auth('tlb','tlb')

6-啟動授權的服務startMongoDb.bat

7-啟動服務後,啟動用戶端startMongoDbClient,用賬号密碼連接配接資料庫

參考指令網址: http://www.jianshu.com/p/5844fdfa9511

2、 自動備份腳本

 REM 參數配置(參數前後不能有空格)在path中添加mongodb的bin路徑

REM 設定dbhost為主機名或IP位址

SET dbhost=127.0.0.1

REM 設定dbport為端口

SET dbport=27017

REM 設定登陸mysql資料庫的使用者名。如果使用者名中有"号,請用""代替。

SET dbuser=tlb

REM 設定登陸mysql的密碼。如果密碼中有"号,請用""代替。

SET dbpwd=tlb

REM 設定backupPath為備份檔案存放的路徑。注意:檔案夾名存在空格不需要引号括起來。警告:此檔案夾應為專用目錄,最好獨立使用,避免删除曆史備份時誤删資料。

SET backupPath=D:/xmsa/DataBackup/Mongodbbackup/Mongodbback

REM 設定%myDate%為目前日期(2013-01-02)。因為日期後可能跟一個空格和星期幾,并且日期中可能是”/"分割,是以要去除掉星期幾和斜線。

FOR /F "tokens=1,2* delims= " %%i IN ('ECHO %date:/=-%') DO SET "myDate=%%i"

REM 設定%MyTime%為目前時間。格式:20.56.30.99

SET myTime=%TIME::=.%

SET myTime=%myTime: =0%

SET dbbase=xmsa_manage

mongodump --host="%dbhost%" --port="%dbport%"  -u"%dbuser%" -p"%dbpwd%" --db=%dbbase% -o %backupPath%%myDate%_%MyTime%

3、 還原腳本

 REM 參數配置(參數前後不能有空格)在path中添加mongodb的bin路徑

REM 設定dbhost為主機名或IP位址

SET dbhost=localhost

REM 設定dbport為端口

SET dbport=27017

REM 設定登陸mysql資料庫的使用者名。如果使用者名中有"号,請用""代替。

SET dbuser=tlb

REM 設定登陸mysql的密碼。如果密碼中有"号,請用""代替。

SET dbpwd=tlb

REM 設定backupPath為備份檔案存放的路徑。注意:檔案夾名存在空格不需要引号括起來。警告:此檔案夾應為專用目錄,最好獨立使用,避免删除曆史備份時誤删資料。

SET directoryperdbPath=F:/developSoftWare/Mongodbbackup/Mongodbback/2017-11-30_10.06.09.23/jf

SET dbbase=jf

REM mongorestore --host="%dbhost%" --port="%dbport%"  -u"%dbuser%" -p"%dbpwd%" -d=%dbbase% --directoryperdb %directoryperdbPath%

REM mongorestore --host="%dbhost%" --port="%dbport%"  -u="%dbuser%" -p="%dbpwd%" -d=%dbbase% --dir=%directoryperdbPath%

mongorestore -h 127.0.0.1:27017 -u tlb -p tlb -djf F:/developSoftWare/Mongodbbackup/Mongodbback/2017-11-30_10.06.09.23/jf