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()
相關文章
相關標籤/搜索