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"}
        }
    );
    
  • 相关阅读:
    中国登山队员首次登上地球之巅珠穆朗玛峰的时间与意义及影响 (转)
    兰戈利尔人(斯蒂芬.金)
    冥界系列一:麝月 (作者:钱其强)
    席慕容独白
    【心理寓言】小偷在鸡舍偷了只鸡
    美国恐怖故事第一季事件时间表
    大学生逃课的暴笑理由
    原来他们四个也是有故事的男人
    爆笑:七八十年代各地最流行顺口溜 网友:太经典了
    中国的世界之最
  • 原文地址:https://www.cnblogs.com/coodyz/p/12219823.html
Copyright © 2011-2022 走看看