当前位置:Gxlcms > 数据库问题 > Mongodb密码安全设置

Mongodb密码安全设置

时间:2021-07-01 10:21:17 帮助过:71人阅读

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

  • 将mongodb安装在d:\mongodb下
  • 创建数据库文件的存放位置,比如d:/mongodb/data(启动mongodb服务之前必须创建数据库的存放文件夹,否则不会自动创建,而且不能启动成功)
  • 在d:\mongodb\log下新建文件夹log(存放日志文件)并且新建文件mongodb.log
  • 在d:\mongodb新建文件mongo.config配置文件 dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
  • 在环境变量中配置mongodb安装路径
  • 打开命令行行启动mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"开机启动
  • 重新打开一个命令行输入:mongo
  • 创建超级用户(需要先进入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" } ]
    -   }
    - )
  • 在配置文件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时,显示无法正常连接,现使用如下方法解决

      1、删除以前创建的用户:db.dropUser("admin"); 2、然后将mongdb.config :auth=true 删除 3、重启mongod、然后再连接 4、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} })  5、重新创建用户: db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]}) 6、重启mongdb服务,打开robomong,设置账号和密码(就是在mongo中设置的账号和密码)再次测试,就可以正常的链接了  
    开机之后如果mongod已启动,需要在后台关闭服务,然后再使用如下命令才能开启mongodb的安全验证 先命令行开启:mongod --config D:\mongodb\mongo.config 再命令行连接:mongo

    Mongodb密码安全设置

    标签:.config   12px   ice   文件的   开启   ext   creat   并且   admin   

    人气教程排行