zoukankan      html  css  js  c++  java
  • mongodb2.6.7 Authentication failed

    question:突然报错认证失败!

    web报错:

    mongod.log日志打印:

     解决:

    出现这个错误,在官方文档也找到了解释,原来在2.6版本做了很大的改进,其改进涉及到核心、存储、网络、查询和安全性等多方面,自然,其用户登录认证机制也发生了改变,db.system.users的schema也是是不同的,并且还增加了权限role的支持。

      好吧,那么就动手解决这个问题吧!因为数据库启用了--auth,所以必须先去掉--auth参数,把数据库重启一遍,创建一个mongDB的系统管理员账号,系统管理员账号创建好后,再加上--auth参数重启。

    1)、配置文件中修改auth参数

    2)、创建mongDB系统管理员账号

    > use admin

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

    3)、加上--auth参数重启后,以刚才创建的admin用户登录:

    > mongo

    > use admin

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

    4)、查看账号admin的用户信息与权限

    > db.runCommand(

      {
            usersInfo:"admin",
           showPrivileges:true
      }
    )

    5)、接下来就是重点了,我的目标数据库是test,现在是该数据库无法登录,所以要为test数据库创建一个账号,并指定dbOwner权限,操作如下

    > use test
    > db.createUser(
       {
             "user": "xxx",
              "pwd": "xxx_pass",
               "roles":[
                                {
                                     "role": "dbOwner",
                                      "db": "test"
                                }
                          ]
        }
    )

    创建用户之后,就可以正常登录了.。遇到问题,还是多看官方文档,有时候百度真的不管用

  • 相关阅读:
    Linux内核空间-用户空间通信之debugfs
    Mysql 启动失败 报错 1067
    [置顶] hdu3018解题报告--也是白话几笔画学习总结
    【Todo】蒙特卡洛(蒙特卡罗)树 & 卷积网络
    基本分类方法——KNN(K近邻)算法
    SVM(支持向量机)与统计机器学习 & 也说一下KNN算法
    可重入锁 & 自旋锁 & Java里的AtomicReference和CAS操作 & Linux mutex不可重入
    【Todo】Nginx架构学习
    【转载】C++异常机制的学习
    关于协程的学习 & 线程栈默认10M
  • 原文地址:https://www.cnblogs.com/mmady/p/12761812.html
Copyright © 2011-2022 走看看