scuess 发表于 2017-12-15 17:28:54

mongodb设置用户名和密码

  需求:我们需要在一个mongodb上面新建两个数据库,每个数据库的用户名和密码不一样,讲道理来说我们直接设置admin,就可以控制所有的数据库,不过用起来总是感觉有各种问题,目前还不太熟悉mongodb,所以直接对不同的数据库设置用户名和密码,可以达到预期的效果。用mongobooster测试的时候没有输入用户名和密码会看不到数据库。
  mongodb的用户名和密码是对应到每个具体的数据库的。
  这里记录一下一些命令:
  1、首先我们启动mongodb的时候,如果需要修改就以普通方式启动
  mongod -f /etc/mongod.conf
  新建数据库testlog
  use logmanagerment
  创建表
  db.createCollection("Account")
  这个时候如果重启mongodb就能发现我们多了一个数据库了,现在我们设置用户名和密码,密码最好不要有@符号,放在url中可能冲突username:password@localhost:27017  
  db.createUser(
  {   
  user: "username",   
  pwd: "password",
  roles: [ {role:"readWrite", db:"testlog"} ]   
  }   
  )
  创建另一个数据库是一样的,创建完了以后需要kill掉以前的mongodb进程,ps -ef| grep mongod,然后kill掉它,然后以权限的方式启动,mongod --auth -f /etc/mongod.conf,然后我们连接,发现权限已经设置成功
  2、如果我们需要修改已有的用户名和密码,首先需要关掉已有的mongodb进程,然后已普通方式启动mongodb
  use yourdatabase
  db.changeUserPassword("username","password")   //回车后没有反应,其实已经修改过来了,重启mongodb,以需要权限的方式启动,就能看到效果了
页: [1]
查看完整版本: mongodb设置用户名和密码