Mongodb密碼安全設置

  1. 先從官網下載mongo安裝包(建議安裝3.0以後的版本)版本選擇下載連接:web

    https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.21045944.28077375.1495245189-20472680.1495115198mongodb

  2. 將mongodb安裝在d:\mongodb下
  3. 建立數據庫文件的存放位置,好比d:/mongodb/data(啓動mongodb服務以前必須建立數據庫的存放文件夾,不然不會自動建立,並且不能啓動成功)
  4. 在d:\mongodb\log下新建文件夾log(存放日誌文件)而且新建文件mongodb.log
  5. 在d:\mongodb新建文件mongo.config配置文件
    dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
  6. 在環境變量中配置mongodb安裝路徑
  7. 打開命令行行啓動mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"開機啓動
  8. 從新打開一個命令行輸入:mongo
  9. 建立超級用戶(須要先進入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" } ]
    -   }
    - )
  10. 在配置文件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")
如今能夠進行操做了

 


  • 解決Robomong鏈接問題

在使用Robomong鏈接須要經過密碼驗證的mongodb時,顯示沒法正常鏈接,現使用以下方法解決測試

 
一、刪除之前建立的用戶:db.dropUser("admin");
二、而後將mongdb.config :auth=true 刪除
三、重啓mongod、而後再鏈接
四、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} }) 
五、從新建立用戶:
db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
六、重啓mongdb服務,打開robomong,設置帳號和密碼(就是在mongo中設置的帳號和密碼)再次測試,就能夠正常的連接了
 

開機以後若是mongod已啓動,須要在後臺關閉服務,而後再使用以下命令才能開啓mongodb的安全驗證
先命令行開啓:mongod --config D:\mongodb\mongo.config
再命令行鏈接:mongo
相關文章
相關標籤/搜索