Mongodb密码安全设置

  1. 先从官网下载mongo安装包(建议安装3.0以后的版本)版本选择下载连接:web

    https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.21045944.28077375.1495245189-20472680.1495115198mongodb

  2. 将mongodb安装在d:\mongodb下
  3. 建立数据库文件的存放位置,好比d:/mongodb/data(启动mongodb服务以前必须建立数据库的存放文件夹,不然不会自动建立,并且不能启动成功)
  4. 在d:\mongodb\log下新建文件夹log(存放日志文件)而且新建文件mongodb.log
  5. 在d:\mongodb新建文件mongo.config配置文件
    dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
  6. 在环境变量中配置mongodb安装路径
  7. 打开命令行行启动mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"开机启动
  8. 从新打开一个命令行输入:mongo
  9. 建立超级用户(须要先进入admin数据库,没有就建立):
    - use admin
    - db.createUser(
    -   {
    -     user: "admin",
    -     pwd: "admin",
    -     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    -   }
    - )
    # 建立低权限的用户
    - db.createUser(
    -   {
    -     user: "myuser",
    -     pwd: "myuser",
    -     roles: [ { role: "readWrite", db: "mydb" } ]
    -   }
    - )
  10. 在配置文件mongo.config中添加:auth=true
    dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
    auth=true

    11. 重启mongod: mongod --config D:\mongodb\mongo.config数据库

    12. 打开另外一个命令窗口下链接mongo:安全

mongo
show dbs(显示无权访问)
# 由于在admin数据库建立的,只能在 admin 数据库中登陆,不能在其余的数据库中认证
# 认证以后就能够切换到其余的数据库进行相关操做
use admin
db.auth("xxxx","xxxx")
如今能够进行操做了

 


  • 解决Robomong链接问题

在使用Robomong链接须要经过密码验证的mongodb时,显示没法正常链接,现使用以下方法解决测试

 
一、删除之前建立的用户:db.dropUser("admin");
二、而后将mongdb.config :auth=true 删除
三、重启mongod、而后再链接
四、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} }) 
五、从新建立用户:
db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
六、重启mongdb服务,打开robomong,设置帐号和密码(就是在mongo中设置的帐号和密码)再次测试,就能够正常的连接了
 

开机以后若是mongod已启动,须要在后台关闭服务,而后再使用以下命令才能开启mongodb的安全验证
先命令行开启:mongod --config D:\mongodb\mongo.config
再命令行链接:mongo
相关文章
相关标签/搜索