nawawa001 发表于 2015-7-8 10:18:00

MongoDB添加用户

  1、添加超级管理员用户
  1)切换到admin数据库



>use admin
  2)添加管理员用户


  >db.addUser("admin","admin")
  添加了一个叫admin的用户,密码是admin。拥有对任意数据库的所有权限
  3)查看已添加的用户



>db.system.users.find()


{ "_id" : ObjectId("528c24eb30c8aafadfc15f60"), "user" : "admin", "readOnly" : false, "pwd" : "7c67ef13bbd4cae106d959320af3f704" }
  
  2、添加普通用户
  1)切换到普通数据库mydb



>use mydb
  2)添加一个用户,只给予读权限



db.addUser(
{
user:"lihuai",
pwd:"123456",
roles:["read"]
}
)   
  3)添加一个用户,作为mydb数据库的管理员



db.addUser("heyman","123456")

  
  4)以认证方式启动mongodb



$ ./mongod --dbpath=/home/mongodb/data --logpath=/home/mongodb/logs/mongodb.log --auth --fork
  5)以用户lihuai登录mydb



$ ./mongo 127.0.0.1:27017/mydb -ulihuai -p123456
  发现可以查询,但是写入的时候会提示



> db.users.insert({name:"zhangsan",age:30})
not authorized for insert on mydb.users
>
  6)以管理员heyman登录mydb,可以对mydb数据库进行读写操作,但不能对其他数据库进行任何操作
  7)超级管理员admin需登录到admin数据库后,再切换到其他数据库进行任何操作



$ ./mongo 127.0.0.1:27017/admin -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/admin
> use mydb
switched to db mydb
>
  虽然是超级管理员,但是admin不能直接登录其他数据库



$ ./mongo 127.0.0.1:27017/mydb -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/mydb
Wed Nov 20 11:22:26.916 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
exception: login failed
$
  
页: [1]
查看完整版本: MongoDB添加用户