程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> mongodb學習筆記05--用戶管理

mongodb學習筆記05--用戶管理

編輯:DB2教程

mongodb學習筆記05--用戶管理


啟用認證

mongod 啟動默認沒有開啟權限,你需要指定 –auth 啟動,或者在配置文件中設置security.authorization 為 “enabled”

創建用戶

db.createUser(user, writeConcern)

文檔 http://docs.mongodb.org/manual/reference/method/db.createUser/#db.createUser

user格式

{ user: "",
  pwd: "",
  customData: {  },
  roles: [
    { role: "", db: "" } | "",
    ...
  ]
}

writeConcern:

例如 {w: “majority”, j: true, wtimeout: 5000}

w選項:允許的值分別是 1、0、大於1的值、”majority”、; j選項:確保mongod實例寫數據到磁盤上的journal(日志),這可以確保mongd以外關閉不會丟失數據。設置true啟用。 wtimeout:指定一個時間限制,以毫秒為單位。wtimeout只適用於w值大於1。

Built-In Roles(內置角色):

數據庫用戶角色:read、readWrite; 數據庫管理角色:dbAdmin、dbOwner、userAdmin; 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 備份恢復角色:backup、restore; 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超級用戶角色:root
// 這裡還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 內部角色:__system

creatUser例子

創建超級管理員

use admin
db.createUser({
    user:"username",
    pwd:"password",
    roles:["root"]
})

在products數據庫創建accountAdmin01用戶,擁有readWrite權限,對admin數據庫擁有clusterAdmin跟readAnyDatabase權限

use products
db.createUser( { "user" : "accountAdmin01",
                 "pwd": "cleartext password",
                 "customData" : { employeeId: 12345 },
                 "roles" : [ { role: "clusterAdmin", db: "admin" },
                             { role: "readAnyDatabase", db: "admin" },
                             "readWrite"
                             ] },
               { w: "majority" , wtimeout: 5000 } )

登錄

use collectionName
db.auth("username",'password")

查看用戶

show users

刪除用戶

db.dropUser("username")

更改用戶密碼

db.changeUserPassword("username","password")

更新用戶

db.createUser(user, writeConcern)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved