mongodb設置密碼

mongodb設置密碼

轉載 2018年01月05日 17:43:20mysql

  • 188

 

mongodb密碼和傳統數據如mysql等有些區別:git

  1. mongodb的用戶名和密碼是基於特定數據庫的,而不是基於整個系統的。全部全部數據庫db都須要設置密碼

mongodb設置管理用戶和密碼:github

  1. show dbs
    在mongodb新版本里並無admin數據庫,可是並不妨礙第2步操做。
  2. use admin 進入admin數據庫
  3. 建立管理員帳戶
    db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
    mongodb中的用戶是基於身份role的,該管理員帳戶的 role是 userAdminAnyDatabase。 ‘userAdmin’表明用戶管理身份,’AnyDatabase’ 表明能夠管理任何數據庫。
  4. 驗證第3步用戶添加是否成功
    db.auth("useradmin", "adminpassword") 若是返回1,則表示成功。
    exit退出系統
    db.auth()方法理解爲 用戶的驗證功能
  5. 修改配置
    sudo vi /etc/mongod.conf
    找到#security: 取消註釋,修改成:
     
    1. security:
    2. authorization: enabled #注意縮進,縮進參照配置文件其餘配置。縮進錯誤可能第6步重啓不成功。
  6. 重啓mongodb sudo service mongod restart
  7. 進入mongodb,用第3步的 管理員帳戶登陸,用該帳戶建立其餘數據庫管理員帳號
     
    1. use admin
    2. db.auth("useradmin", "adminpassword")
  8. 新建你須要管理的mongodb 數據的帳號密碼。sql

     
    1. use yourdatabase
    2. db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })

    rote:dbOwner 表明數據庫全部者角色,擁有最高該數據庫最高權限。好比新建索引等mongodb

  9. 新建數據庫讀寫帳戶數據庫

     
    1. use yourdatabase
    2. db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })

    該用戶用於該數據的讀寫,只擁有讀寫權限。數組

  10. 如今數據的用戶名和密碼就建好了。
    能夠使用:mongodb://youruser2:yourpassword2@localhost/yourdatabase來連接ui

  11. user:用戶名,pwd:密碼,roles:指定用戶角色,能夠用一個空數組給新用戶設定空角色;在roles字段,能夠指定內置角色和用戶定義的角色。role裏的角色能夠選:spa

    Built-In Roles(內置角色):
    1. 數據庫用戶角色:read、readWrite;
    2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 備份恢復角色:backup、restore;
    5. 全部數據庫角色:readAnyDatabase、readWriteAnyDatabase,userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超級用戶角色:root  
    7. 內部角色:__system
相關文章
相關標籤/搜索