美文网首页
MongoDB添加用户认证

MongoDB添加用户认证

作者: henryspace | 来源:发表于2020-05-27 11:30 被阅读0次

    安装版本:db version v4.2.6
    MongoDB默认安装并没有开启用户名密码登录,这样太不安全。首先开启一个无需验证用户的MongoDB服务后,进入MongoDB的shell控制台创建用户:

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

    创建用户后,关闭连接,进入正题:
    安装路径: D:PROGRA~1\MongoDB\Server\4.2\bin\
    配置文件中添加authorization项 ,配置文件地址如下,没有可创建D:PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg
    配置文件内容如下:

    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
        dbPath: D:\PROGRA~1\MongoDB\Server\4.2\data\db
        journal:
            enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog:
        destination: file
        logAppend: true
        path: D:\PROGRA~1\MongoDB\Server\4.2\log\mongod.log
    
    # network interfaces
    net:
        port: 27017
        bindIp: 127.0.0.1
    
    
    #processManagement:
    
    
    security:
        authorization: enabled
      
      
    setParameter:
        enableLocalhostAuthBypass: false 
      
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    
    

    配置好之后注册服务:

    D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.exe 
    --config "D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg" 
    --install --serviceName "MongoDB" --serviceDisplayName "MongoDB"
    

    启动服务:
    net start MongoDB
    遇到的问题:
    Error1:
    F CONTROL [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services
    Error2:
    Error parsing YAML config file: yaml-cpp: error at line 2
    以上都是配置文件配置问题,注意文件中不要出现单引号,双引号之类的;
    配置项每层缩进都是4个空格,不要用tab缩进
    Error3:
    控制台显示服务未注册
    这个一般是注册服务的命令有引号错误或者路径错误,检查有没有少斜线。正常的注册完服务并启动时,会显示服务已开启。

    Microsoft Windows [版本 10.0.18363.657]
    
    HLJYY@YJY-108 F:\Program
    # D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.exe --config "D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg" --install --serviceName "MongoDB" --serviceDisplayName "MongoDB"
    
    HLJYY@YJY-108 F:\Program
    # net start MongoDB
    MongoDB 服务正在启动 .
    MongoDB 服务已经启动成功。
    
    HLJYY@YJY-108 F:\Program
    #
    

    新开窗口进入mongodb的shell控制台验证:

    Microsoft Windows [版本 10.0.18363.657]
    
    HLJYY@YJY-108 F:\Program
    # mongo
    MongoDB shell version v4.2.6
    connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("46e409af-7220-4fed-965c-bb03099fec8d") }
    MongoDB server version: 4.2.6
    > show dbs
    > use admin
    switched to db admin
    > db.auth("admin","123456")
    1
    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    test    0.000GB
    >                                                                                      
                                                                                        
    

    参考链接:
    Mongodb学习(4)通过配置文件启动mongod
    windows系统,MongoDB开启用户验证
    解决“Error parsing YAML

    权限认证已ok

    相关文章

      网友评论

          本文标题:MongoDB添加用户认证

          本文链接:https://www.haomeiwen.com/subject/rbfwahtx.html