1. 程式人生 > >Mongodb密碼安全設置

Mongodb密碼安全設置

col div 創建用戶 install 重啟 相關 ase role 版本選擇

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

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

  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時,顯示無法正常連接,現使用如下方法解決

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

Mongodb密碼安全設置