(.\是表示在服務器的windows powershell下需要 表示信任此命令才會執行不然會報錯,自己電腦上使用時可去掉.\)
在本地使用都不需要開啟權限而在服務器上需要開啟安全模式所以需要在原本的命令加上--auth(連接時需要用戶名和密碼)來啟用權限。
既然需要用戶名和密碼那么肯定需要先在非安全模式下建立之后再開啟安全模式。
1.下載mongodb可在官網下載選擇適應自己的系統版本我這里是用windows2008 64位的https://www.mongodb.org/downloads
2.安裝下載的mongodb像裝軟件一樣默認是裝在C:\Program Files\MongoDB安裝位置可以安裝的時候自己選擇。
3.啟用非安全模式創建管理賬號:(我安裝在d盤下,路徑請根據自己實際情況修改)
1.打開windows powershell(相當於我們在本地使用的cmd)先打開到安裝的目錄下用cd d:\mongodb\bin
執行后敲入命令.\mongod.exe --dbpath D:\mongodb\data --logpath=D:\mongodb\logs\mongodb.log --logappend
--dbpath D:\mongodb\data是存放數據的文件夾(可以自己指定,本人這里是在MongoDB下建了一個叫data的文件夾)
--logpath=D:\mongodb\logs\mongodb.log是存放日志的(如果這個命令出錯應該是你沒建文件夾logs文件夾下還要有一個文件mongodb.log)
--logappend以追加的方式記錄日志,如果不加此參數,則每次啟動時都重寫日志文件
2.重新打開一個命令窗口(請不要關閉第一個)同樣打開安裝目錄cd d:\mongodb\bin
執行后敲入命令.\mongo你會看到默認連接到test,執行db.createUser( { "user" : "userName","pwd": "userPwd","customData" : { employeeId: 12345 },"roles" : [ { role: "clusterAdmin", db: "admin" },{ role: "readAnyDatabase", db: "admin" },"readWrite"] },{ w: "majority" , wtimeout: 5000 } )
對於上面命令的解釋:
user文檔字段介紹
user字段,為新用戶的名字;
pwd字段,用戶的密碼;
cusomData字段,為任意內容,例如可以為用戶全名介紹;
roles字段,指定用戶的角色,可以用一個空數組給新用戶設定空角色;
在roles字段,可以指定內置角色和用戶定義的角色。
數據庫角色Roles:https://docs.mongodb.org/manual/reference/built-in-roles/#built-in-roles
writeConcern文檔(英語不好不懂翻譯官方自己看https://docs.mongodb.org/manual/reference/write-concern/)
4.到此賬號已經創建完成可以啟用安全模式關掉原本的命令窗口重新打開同樣cd d:\mongodb\bin
執行后敲入命令 .\mongod.exe --dbpath D:\mongodb\data --logpath=D:\mongodb\logs\mongodb.log --logappend --auth --install
--auth表示啟動安全模式
啟動安全模式之后如果沒有認證的話就沒辦法操作都會提示錯誤not authorized
1. use admin (打開有創建登錄權限的數據集合)
2. db.auth("userName","userPwd") 用戶名密碼正確的話會顯示1表示成功,就可以操作了。也可以給其他數據集合加權限賬戶。
--install表示在windows創建一個服務作用是不用開着一個命令窗口放着也不用重啟服務器之后要重新用命令去打開mongodb可以把服務設置為自動啟動。
設置完第一次啟動服務可以去服務里找到MongoDB啟動它也可以用命令啟動net start MongoDB,停止對應的是net stop MongoDB
5.遠程連接到服務器的mongodb
1.cd 到安裝的目錄
2.執行mongo 192.168.0.1:27017/admin -u wuyubing -p wyb123456
服務器地址根據真實情況而定。
可能出現連接不了因為服務器默認端口號27017沒開,需要打開端口號設置如下:
控制面板》系統安全》windows防火牆》高級設置》入站規則》新建規則》端口》tcp 特定端口輸入27017》允許鏈接》按照默認設置或者懂得人可以自己進行其他設置》取規則名確定完成即可。