• MongoDB快速入门教程(3.1)


    3.MongoDB进阶

    3.1.权限验证

    以下内容适用于Mac系统用户,window系统用户请看后面文档

    3.1.1.创建超级管理员用户

    默认情况下连接mongodb是不需要用户名和密码的,这样不安全,我们需要进行安全配置,让连接数据库的时候经过认证才能连接

    具体配置步骤如下:

    1.修改mongodb配置文件,开启安全验证

    如果是brew安装的mongodb,mac系统下地址mongodb默认配置文件 /usr/local/etc/mongod.conf,你需要将你的配置文件写成这样:

    systemLog:
      #日志为文件
      destination: file
      #日志存放路径
      path: /data/mongodb/log/mongo.log
      logAppend: true
    # 数据库存放路径
    storage:
      dbPath: /data/mongodb/db/
    net:
      bindIp: 127.0.0.1
    #进程
    processManagement:
    # 守护进程方式
      fork: true
    # 开启权限验证
    security:
      authorization: enabled
    

    上面配置文件中,日志存放路径和数据库存放路径需要存在,也就是说你需要先去把这些文件夹创建好,并且给上读写权限

    2.重启mongodb服务

    sudo mongod --config /usr/local/etc/mongod.conf
    

    重启服务的时候是需要带上配置文件的,这样才能让你的配置生效,需要注意的是,在配置文件中,我们设置了守护进程的方式(fork: true),这种方式允许服务在后台运行

    3.创建超级管理员用户名

    首先,运行连接mongodb

    mongo
    

    接着,选中数据库

    use admin
    

    开始创建用户名

    db.createUser({
    user:'admin',
    pwd:'123456', roles:[{role:'root',db:'admin'}]
    })
    

    验证用户名和密码

    db.auth("admin", "123456")
    

    上面命令如果返回1 表示验证成功, 0 表示验证失败

    如果验证成功,即可正常使用了

    show dbs
    

    除了上面通过db.auth来验证超级管理员权限以外,还可以在连接的时候,直接给用户名和密码

    mongo admin -u admin -p 123456
    

    3.1.2.创建普通用户

    普通用户就是某个数据库的用户,这个用户只有某个数据库的权限

    要创建普通用户,你必须具有超级管理员的权限,因此,得先以超级管理员登录进去

    mongo admin -u admin -p 123456
    

    接下来,选中你要设置权限的数据库

     use nodeing_cms
    

    创建普通用户

    db.createUser({user: "nodeing_cms_user", pwd: "nodeing123", roles: [{ role: "dbOwner", db: "nodeing_cms" }]})
    

    3.1.3.windows用户权限验证设置

    1.连接mongodb数据库

    mongo
    

    2.设置管理员密码

    db.createUSer({
      user: "admin",
      pwd: "123456",
      roles: [{role: "root", db: "admin"}]
    })
    

    3.修改配置文件,开启权限验证

    配置文件位置:在你安装目录下面找,例如我的安装目录在c盘,具体位置如下: C:Program FilesMongoDBServer4.0inmongod.cfg

    security:
      authorization: enabled
    

    4.重启服务

    5.连接服务器

    mongo admin -u admin -p 123456
    

    螺钉课堂视频课程地址:http://edu.nodeing.com

  • 相关阅读:
    VS.NET提示"试图运行项目时出错:无法启动调试。绑定句柄无效"解决办法
    鼠标移动之hook学习
    今天完成任务之SQL中len的使用
    继承(2)方法《.NET 2.0面向对象编程揭秘 》
    框架设计:CLR Via C# 第二章
    启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
    C#中处理字符串和数字
    TreeView实现权限管理
    鼠标单击右击双击简单功能的实现
    richTextBox 中插入图片
  • 原文地址:https://www.cnblogs.com/dadifeihong/p/12048254.html
Copyright © 2020-2023  润新知