安裝MongoDB配置及用戶授權

注:win7要用以管理員身份運行命令窗口

1、下載

下載地址:http://www.mongodb.org/downloads

2、安裝

安裝非常簡單,解壓就行了,我解壓後,放在C:/MongoDB目錄下。

爲了命令行的方便,可以把C:/MongoDB/bin加到系統環境變量的path中了。

3、運行並指定數據庫存放目錄(不要關閉此窗口)

C:\Windows\system32>mongod --dbpath=D:\Data\mongodb --directoryperdb
Sat Jan 11 02:50:26.483 [initandlisten] MongoDB starting : pid=13708 port=27017
dbpath=D:\Data\mongodb 64-bit host=admin-dgh
Sat Jan 11 02:50:26.484 [initandlisten] db version v2.4.8
Sat Jan 11 02:50:26.484 [initandlisten] git version: a350fc38922fbda2cec8d5dd842
237b904eafc14
Sat Jan 11 02:50:26.484 [initandlisten] build info: windows sys.getwindowsversio
n(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST
_LIB_VERSION=1_49
Sat Jan 11 02:50:26.484 [initandlisten] allocator: system
Sat Jan 11 02:50:26.484 [initandlisten] options: { dbpath: "D:\Data\mongodb", di
rectoryperdb: true }
Sat Jan 11 02:50:26.565 [initandlisten] journal dir=D:\Data\mongodb\journal
Sat Jan 11 02:50:26.566 [initandlisten] recover : no journal files present, no r
ecovery needed
Sat Jan 11 02:50:26.589 [FileAllocator] allocating new datafile D:\Data\mongodb\
local\local.ns, filling with zeroes...
Sat Jan 11 02:50:26.590 [FileAllocator] creating directory D:\Data\mongodb\local
\_tmp
Sat Jan 11 02:50:26.643 [FileAllocator] done allocating datafile D:\Data\mongodb
\local\local.ns, size: 16MB,  took 0.052 secs
Sat Jan 11 02:50:26.643 [FileAllocator] allocating new datafile D:\Data\mongodb\
local\local.0, filling with zeroes...
Sat Jan 11 02:50:26.780 [FileAllocator] done allocating datafile D:\Data\mongodb
\local\local.0, size: 64MB,  took 0.135 secs
Sat Jan 11 02:50:26.781 [initandlisten] command local.$cmd command: { create: "s
tartup_log", size: 10485760, capped: true } ntoreturn:1 keyUpdates:0  reslen:37
192ms
Sat Jan 11 02:50:26.783 [initandlisten] waiting for connections on port 27017
Sat Jan 11 02:50:26.884 [websvr] admin web console waiting for connections on po
rt 28017
注:--dbpath:數據文件存放路徑,每個數據庫會在其中創建一個子目錄,用於防止同一個實例多次運行的mongod.lock也保存在此目錄中。

--directoryperdb:每個db存放在單獨的目錄中,建議設置該參數。與MySQL的獨立表空間類似。

MongoDB服務端的默認監聽端口是:27017

4、增加訪問權限(另外啓動一個命令窗口)

在運行內輸入CMD 進入命令窗口,在命令窗口中輸入mongo 進入數據庫

C:\Windows\system32>mongo
MongoDB shell version: 2.4.8 當前版本號
connecting to: test 連接的數據庫名稱
提示當前MongoDB 數據庫的版本號和當前連接的數據庫名稱

輸入sue admin命令

C:\Windows\system32>mongo
MongoDB shell version: 2.4.8
connecting to: test
> show collections
>
> use admin 回車
switched to db admin
則切換到admin數據庫,這個表就等同於MsSql中的用戶表,用來存放超級管理員的


創建一個管理員帳號

C:\Windows\system32>mongo
MongoDB shell version: 2.4.8
connecting to: test
> use admin
switched to db admin
> db.addUser('sa','sa'); 回車
{
        "user" : "manager",
        "readOnly" : false,
        "pwd" : "3d3d8fe8664519ee240bc55965178bbe",
        "_id" : ObjectId("52d041541e5129728a603c8a")
}
運用db.addUser('sa','sa')方法添加一個用戶,其中第一個參數爲用戶名,第二個參數爲用戶密碼。

這樣我們就創建了一個系統超級管理員。那麼我們先停止之前的窗口服務(即:運行並指定數據庫存放目錄)時運行的服務。

現在admin數據庫中已經有用戶信息了,我們關掉mongodb, 重新啓動,這次帶有--auth 參數,再訪問數據庫又是什麼情況哪??

C:\Windows\system32>mongod --dbpath=D:\Data\mongodb --auth
在另外一個命令窗口下連接服務器。

C:\Windows\system32>mongo 回車
MongoDB shell version: 2.4.8
connecting to: test
> show collections 回車
Sat Jan 11 03:04:17.341 error: {
        "$err" : "not authorized for query on test.system.namespaces",
        "code" : 16550
} at src/mongo/shell/query.js:128
> ^C
bye

連接服務器後,我們查看一下test數據庫下所有集合。那麼就會報沒有權限查詢。

那麼我們如何授權操作test數據庫內容哪??

首先我們要切換到admin數據庫,進行授權操作。

C:\Windows\system32>mongo 回車
MongoDB shell version: 2.4.8
connecting to: test
> show collections 回車
Sat Jan 11 03:06:21.505 error: {
        "$err" : "not authorized for query on test.system.namespaces",
        "code" : 16550
} at src/mongo/shell/query.js:128
> use admin 回車
switched to db admin
> db.auth('sa','sa') 回車
1
> use test 回車 再切換到test數據庫
switched to db test
> show collections 回車 查看所有集合
> ^C
bye
那麼這樣就可以對其進行操作了。


5、將MongoDB作爲Windows服務隨機後臺啓動

先創建d:\mongodblog\mongodb.log日誌文件(手動創建),用於存儲MongoDB的日誌文件,再安裝系統服務。

C:\Windows\system32>mongod --dbpath=D:\Data\mongodb --logpath=D:\mongodblog\mong
odb.log --auth --directoryperdb --serviceName "MongoDB" --install 回車
Sat Jan 11 02:56:11.947 Trying to install Windows service 'MongoDB'
Sat Jan 11 02:56:12.471 Service 'MongoDB' (Mongo DB) installed with command line
 'C:\mongo\bin\mongod.exe --dbpath=D:\Data\mongodb --logpath=D:\mongodblog\mongo
db.log --auth --service'
Sat Jan 11 02:56:12.471 Service can be started from the command line with 'net s
tart MongoDB'

啓動服務:
C:\Windows\system32>net start MongoDB

Mongo DB 服務已經啓動成功。
卸載服務:

mongod.exe --remove --serviceName "MongoDB"

通過以上操作MongoDB服務器就配置好了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章