zoukankan      html  css  js  c++  java
  • Windows下安装MongoDB并配置登陆验证

    一、安装前创建文件目录

    1.创建C:MongoDB目录。
    2.创建C:MongoDBdata目录。
    3.创建C:MongoDBlogs目录。
    4.创建C:MongoDBlogsmongo.log文件。

    二、官网下载安装

    安装目录选择第一步创建的目录。

    三、加入系统环境变量

    C:MongoDBin

    四、安装服务

    1.创建配置文件C:MongoDBmongod.conf

    #数据库路径  
    dbpath=C:MongoDBdata  
    #日志输出文件路径  
    logpath=C:MongoDBlogsmongo.log  
    #错误日志采用追加模式  
    logappend=true
    #启用日志文件,默认启用  
    journal=true  
    #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false  
    quiet=true  
    #端口号 默认为27017  
    port=27017  
    #密码验证  
    #auth=true
    

    2.安装服务

    mongod --config "C:MongoDBmongod.conf" --install --serviceName "MongoDB"

    3.启动

    net start MongoDB
    

    4.创建管理员

    mongo
    >use admin;
    >db.createUser(
      { user: "admin",
        customData: {description: "superuser"},
        pwd: "password",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    );
    

    5.创建超级管理员

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

    角色具体说明:

    注意:创建某个数据库用户时,应先use dataBaseName切换到对应数据库

    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    dbOwner:数据库拥有者,包含readWrite、dbAdmin、userAdmin
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
    root:只在admin数据库中可用。超级账号,超级权限
    

    五、配置登陆验证

    1.取消注释

    配置文件C:MongoDBmongod.conf中的

    #auth=true

    2.重启服务加载配置文件

    sc stop MongoDB
    sc start MongoDB
    

    3.测试

    mongo
    >use admin;
    >db.auth("admin", "password");
    1
    

    P.S:

    创建业务数据库管理员

    >db.createUser({
        user:"user1",
        pwd:"123456",
        customData:{
            name:'coodyz',
            email:'coodyz@qq.com',
            age:20,
        },
        roles:[
            {role:"readWrite",db:"db001"},
            {role:"readWrite",db:"db002"},
            'read'// 对其他数据库有只读权限,对db001、db002是读写权限
        ]
    });
    

    修改密码

    >use admin;
    >db.changeUserPassword("username", "password");
    

    修改密码和用户信息

    >db.runCommand(
        {
            updateUser:"username",
            pwd:"password",
            customData:{title:"password"}
        }
    );
    
  • 相关阅读:
    JavaIO流(2) ------图片上传,(基于servlet)
    JDBC连接数据库工具类
    实体常量类、内部常量类以及枚举类的区别
    Java IO流 (1)------保存文件与读取文件
    Python type函数和isinstance函数区别
    Python 字符串/列表/元组/字典之间的相互转换
    Pycharm设置开发模板/字体大小/背景颜色
    Pycharm 提示:this license * has been cancelled
    Anaconda是什么?Anconda下载安装教程
    Python __name__ == ‘__main__’详细解释-Python零基础入门教程
  • 原文地址:https://www.cnblogs.com/coodyz/p/12219823.html
Copyright © 2011-2022 走看看