-
先從官網下載mongo安裝包(建議安裝3.0之后的版本)版本選擇下載鏈接:
https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.21045944.28077375.1495245189-20472680.1495115198
- 將mongodb安裝在d:\mongodb下
- 創建數據庫文件的存放位置,比如d:/mongodb/data(啟動mongodb服務之前必須創建數據庫的存放文件夾,否則不會自動創建,而且不能啟動成功)
- 在d:\mongodb\log下新建文件夾log(存放日志文件)並且新建文件mongodb.log
- 在d:\mongodb新建文件mongo.config配置文件
dbpath=D:\mongodb\data
logpath=D:\mongodb\log\mongo.log - 在環境變量中配置mongodb安裝路徑
- 打開命令行行啟動mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"開機啟動)
- 重新打開一個命令行輸入:mongo
- 創建超級用戶(需要先進入admin數據庫,沒有就創建):
- use admin
- db.createUser(
- {
- user: "admin",
- pwd: "admin",
- roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
- }
- )
# 創建低權限的用戶
- db.createUser(
- {
- user: "myuser",
- pwd: "myuser",
- roles: [ { role: "readWrite", db: "mydb" } ]
- }
- ) - 在配置文件mongo.config中添加:auth=true
dbpath=D:\mongodb\data
logpath=D:\mongodb\log\mongo.log
auth=true
11. 重啟mongod: mongod --config D:\mongodb\mongo.config
12. 打開另一個命令窗口下連接mongo:
mongo
show dbs(顯示無權訪問)
# 因為在admin數據庫創建的,只能在 admin 數據庫中登錄,不能在其他的數據庫中認證
# 認證之后就可以切換到其他的數據庫進行相關操作
use admin
db.auth("xxxx","xxxx")
現在可以進行操作了
show dbs(顯示無權訪問)
# 因為在admin數據庫創建的,只能在 admin 數據庫中登錄,不能在其他的數據庫中認證
# 認證之后就可以切換到其他的數據庫進行相關操作
use admin
db.auth("xxxx","xxxx")
現在可以進行操作了
- 解決Robomong連接問題
在使用Robomong連接需要通過密碼驗證的mongodb時,顯示無法正常連接,現使用如下方法解決
1、刪除以前創建的用戶:db.dropUser("admin");
2、然后將mongdb.config :auth=true 刪除
3、重啟mongod、然后再連接
4、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} })
5、重新創建用戶:
db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
6、重啟mongdb服務,打開robomong,設置賬號和密碼(就是在mongo中設置的賬號和密碼)再次測試,就可以正常的鏈接了
開機之后如果mongod已啟動,需要在后台關閉服務,然后再使用如下命令才能開啟mongodb的安全驗證
先命令行開啟:mongod --config D:\mongodb\mongo.config
再命令行連接:mongo