zoukankan      html  css  js  c++  java
  • mongodb3 权限认证问题总结

    mongodb3 权限认证问题总结

    标签(空格分隔): mongodb 权限 数据库 认证


    ubuntu用户安装最新版本mongodb

    1. 添加key
      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

    2. 写进ubuntu软件源
      echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

    3. 更新系统
      sudo apt-get update

    4. 安装mongodb
      sudo apt-get install mongodb-org

    5. 查看mongodb服务是否开启
      ps -ef | grep mongod

    6. 没有开启的话你就自己开启吧
      sudo service mongod start
      查看服务的状态:sudo service mongod status
      实在不行的话就用这种方式: sudo mongod -f /etc/mongod.conf

    7. 创建管理员角色
      管理员角色必须在你添加--auth认证参数之前创建,不然之后你就没有权限可操作了。如果你之前已经有了用户,那么就删除用户吧。
      use admin
      db.system.users.remove({}) --> 删除所有用户
      db.system.version.find() --> 查看当前的authSchema(认证模式),默认的为5是SCRAM-SHA-1模式,当然你可以改为3是MONGODB-CR模式

      更改认证模式:db.system.version.remove({}) --> 删除当前认证模式。
      db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 }) --> 添加当前的认证模式为3

      然后添加管理员角色吧
      use admin
      db.createUser({
      user: "root",
      pwd: "root",
      roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]})

    8. 重启服务登录认证
      sudo pkill mongod --> 杀死服务,很方便。
      sudo mongod -f /etc/mongod.conf --fork --auth --> 以认证模式启动服务
      然后ps -ef | grep mongod查看服务是否启动

    9. 用户登录
      mongo
      use admin
      show dbs; --> 出错,因为你没有权限
      db.auth('root','root'); --> 登录认证
      show dbs; --> ok
      db.system.users.find() --> 显示用户信息,你可以看看authSchema后面事那种模式

  • 相关阅读:
    面试题_day0212
    面试题_day0211
    猫眼的数字解密
    缺口验证码
    mysql替换字段里面的内容
    mysql重复id删除
    追踪你的女朋友。
    淘宝登录验证
    jadx-gui-1.0.0.jar怎么运行?
    Python实现一个进度条
  • 原文地址:https://www.cnblogs.com/bergus/p/4901233.html
Copyright © 2011-2022 走看看