zoukankan      html  css  js  c++  java
  • MongoDB 设置用户名密码和数据库连接

    第一种方式:通过Robo设置

    连接mongo,在admin库下创建账号,设置账号、密码后,勾选角色。

    找到 MongoDB 安装目录,打开 mongod.cfg文件,找到以下这句:

    #security:

    修改为:

    security:
      authorization: enabled

    重启 MongoDB服务

    第二种方式:通过命令设置超级管理员

    设置 admin

    use admin  
    db.createUser({
      user: 'admin',  // 用户名
      pwd: '123456',  // 密码
      roles:[{
        role: 'root',  // 角色
        db: 'admin'  // 数据库
      }]
    })

    设置完成,可以输入 show users 查看是否设置成功。

    开启验证

    找到 MongoDB 安装目录,打开 mongod.cfg文件,找到以下这句:

    #security:

    修改为:

    security:
      authorization: enabled

    重启 MongoDB

    打开任务管理器

    找到 MongoDB 服务,右键重新启动。

    这时,我们可以打开 powershell 连接数据库:

    输入 mongo:

    显示连接成功,但是当我们输入其他指令时,会提示没有权限:

    登录数据库

    // 方式一
    mongo
    use admin
    db.auth('admin', '123456')
    
    // 方式二
    mongo admin -u admin -p 123456

    这时候我们就可以正常访问和操作数据了。

    添加数据库用户

    我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。

    use test  // 跳转到需要添加用户的数据库
    db.createUser({
      user: 'fooadmin',  // 用户名
      pwd: '123456',  // 密码
      roles:[{
        role: 'readWrite',  // 角色
        db: 'test'  // 数据库名
      }]
    })

    常用命令

    show users  // 查看当前库下的用户
    
    db.dropUser('testadmin')  // 删除用户
    
    db.updateUser('admin', {pwd: '654321'})  // 修改用户密码
    
    db.auth('admin', '654321')  // 密码认证

    MongoDB 数据库默认角色

    1. 数据库用户角色:read、readWrite
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
    4. 备份恢复角色:backup、restore
    5. 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
      dbAdminAnyDatabase
    6. 超级用户角色:root
     
     
     
     

    备注:MongoDB连接数据库

    启动 MongoDB 服务

    通过 shell 连接 MongoDB 服务:mongo

    使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上:mongo://admin:123456@localhost/

    更多连接实例

    连接本地数据库服务器,端口是默认的。

    mongodb://localhost

    使用用户名fred,密码foobar登录localhost的admin数据库。

    mongodb://fred:foobar@localhost

    使用用户名fred,密码foobar登录localhost的baz数据库。

    mongodb://fred:foobar@localhost/baz

    连接 replica pair, 服务器1为example1.com服务器2为example2。

    mongodb://example1.com:27017,example2.com:27017

    连接 replica set 三台服务器 (端口 27017, 27018, 和27019):

    mongodb://localhost,localhost:27018,localhost:27019

    连接 replica set 三台服务器, 写入操作应用在主服务器 并且分布查询到从服务器。

    mongodb://host1,host2,host3/?slaveOk=true

    直接连接第一个服务器,无论是replica set一部分或者主服务器或者从服务器。

    mongodb://host1,host2,host3/?connect=direct;slaveOk=true

    当你的连接服务器有优先级,还需要列出所有服务器,你可以使用上述连接方式。

    安全模式连接到localhost:

    mongodb://localhost/?safe=true

    以安全模式连接到replica set,并且等待至少两个复制服务器成功写入,超时时间设置为2秒。

    mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
  • 相关阅读:
    win 8.1右键引起资源管理器重启
    lodash学习笔记之Array方法
    window下Ionic环境安装
    Ionic angular-ui-router小案例
    NPOI SetColumnHidden隐藏列不起作用的原因
    关于js隐式转换的有趣例子
    oracle中between and闭合性
    Javascript有那些奇技淫巧?
    PowerDesigner逆向工程连接服务器端oracle过程
    openlayers 添加 arcgis rest feature server 使用 vue cli+jsonp
  • 原文地址:https://www.cnblogs.com/jiangqw/p/13344028.html
Copyright © 2011-2022 走看看