• mongodb启用auth,使用密码登录


    • 更新操作: db.users.update({'currentVersion':3},{$set:{'currentVersion':5}})

    • 首先安装下载(略过)

    • mongod 启动服务,有多重启动方式,另外可配置各种启动参数
       mongod --config "D:/mongodb/server/mongo.cfg"

    mongod --dbpath "D:mongodbserverdatadb"

    • show dbs
    • use admin
    • show tables
    1. 新建用户 db.createUser({user:”账号”,pwd:”密码”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})

    Read:允许用户读取指定数据库

    readWrite:允许用户读写指定数据库

    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

    root:只在admin数据库中可用。超级账号,超级权限(本次创建的就是超级账号)

    • 对账号授权:db.auth(“账号”,”密码”)

    • 重启mongo 加上 --auth 参数

    • 此时如不使用用户名密码登录,show dbs, 和 show tables 都无权限

    • 使用账号密码登录:mongo -u admin -p 12345 localhost:27017/admin (该账户admin,虽然是admin库中的用户,但是具有所有数据库的权限:userAdminAnyDatabase
      )

    • 以下为mongo.cfg的简单配置

    dbpath=D:mongodbserverdatadb 
    logpath=D:mongodbserverlogmongo.log
    logappend=true
    port=27017
    auth=true
    
  • 相关阅读:
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第十届蓝桥杯特别数的和
    Mysql大数据备份和增量备份及还原
    学会4种备份MySQL数据库(基本备份方面没问题了)
    解决表单提交参数乱码问题【终极版】不看后悔
    聊聊单元测试(三)——Spring Test+JUnit完美组合
    eclipse gradle插件(buildship)的安装和使用
  • 原文地址:https://www.cnblogs.com/lz0925/p/11734050.html
Copyright © 2020-2023  润新知