[关闭]
@bergus 2015-12-06T01:53:51.000000Z 字数 1159 阅读 1969

mongodb3 权限认证问题总结

mongodb 权限 数据库 认证


ubuntu用户安装最新版本mongodb

  1. 1. 添加key
  2. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  3. 2. 写进ubuntu软件源
  4. 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
  5. 3. 更新系统
  6. sudo apt-get update
  7. 4. 安装mongodb
  8. sudo apt-get install mongodb-org
  9. 5. 查看mongodb服务是否开启
  10. ps -ef | grep mongod
  11. 6. 没有开启的话你就自己开启吧
  12. sudo service mongod start
  13. 查看服务的状态:sudo service mongod status
  14. 实在不行的话就用这种方式: sudo mongod -f /etc/mongod.conf
  15. 7. 创建管理员角色
  16. 管理员角色必须在你添加--auth认证参数之前创建,不然之后你就没有权限可操作了。如果你之前已经有了用户,那么就删除用户吧。
  17. use admin
  18. db.system.users.remove({}) --> 删除所有用户
  19. db.system.version.find() --> 查看当前的authSchema(认证模式),默认的为5SCRAM-SHA-1模式,当然你可以改为3MONGODB-CR模式
  20. 更改认证模式:
  21. db.system.version.remove({}) --> 删除当前认证模式。
  22. db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 }) --> 添加当前的认证模式为3
  23. 然后添加管理员角色吧
  24. use admin
  25. db.createUser({
  26. user: "root",
  27. pwd: "root",
  28. roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]})
  29. 8. 重启服务登录认证
  30. sudo pkill mongod --> 杀死服务,很方便。
  31. sudo mongod -f /etc/mongod.conf --fork --auth --> 以认证模式启动服务
  32. 然后ps -ef | grep mongod查看服务是否启动
  33. 9. 用户登录
  34. mongo
  35. use admin
  36. show dbs; --> 出错,因为你没有权限
  37. db.auth('root','root'); --> 登录认证
  38. show dbs; --> ok
  39. db.system.users.find() --> 显示用户信息,你可以看看authSchema后面事那种模式
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注