MongoDB用户受权和管理

MongoDB用户受权和管理

2017年02月15日 15:40:04 奋斗吧_攻城狮 阅读数:6974 标签: mongodbshell 更多node

我的分类: MongoDBmongodb

一、mongodb安装好后第一次进入是不须要密码的,也没有任何用户,经过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo便可 
运行以下:shell

[root@namenode mongodb]# ./bin/mongo
MongoDB shell version: 1.8.2
connecting to: test
> use test;
switched to db test
  • 1
  • 2
  • 3
  • 4
  • 5

二、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase),数据库

>use admin
>db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
  • 1
  • 2

注:添加完用户后可使用show users或db.system.users.find()查看已有用户spa

三、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(若是这样作了,请去data/db目录下删除mongo.lock文件),可使用db.shutdownServer()关闭.net

四、使用权限方式启动MongoDBcode

./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongod.log --fork --auth
  • 1

或者在配置文件中修改:blog

auth = true
#noauth = true
  • 1
  • 2

五、进入mongo shell,使用admin数据库并进行验证,若是不验证,是作不了任何操做的。进程

> use admin
> db.auth("admin","123456")   #认证,返回1表示成功
  • 1
  • 2

六、验证以后仍是作不了操做,由于admin只有用户管理权限,下面建立用户,用户都跟着库走,rem

> use mydb
> db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: "mydb" }]})
  • 1
  • 2

七、使用建立的用户root登陆进行数据库操做:

[root@localhost mongodb]# mongo 127.0.0.1/mydb -uroot -p
MongoDB shell version: 3.2.9
Enter password:
connecting to: 127.0.0.1/mydb
> db
mydb
> use mydb
switched to db mydb
> show collections
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

或者使用: 
./mongo -u username -p password --port port --authenticationDatabase databaseName 
./mongo databaseName -u username -p password --port port

而后就能够进行增删改查各类数据操做…

八、查看已存在的用户

> db.system.users.find()
  • 1

九、删除用户

> use mydb
> db.system.users.remove({user:"root"})
> db.system.users.find()
相关文章
相关标签/搜索