MongoDB用戶授權和管理


轉載於https://blog.csdn.net/yu757371316/article/details/55210536

1、mongodb安裝好后第一次進入是不需要密碼的,也沒有任何用戶,通過shell命令可直接進入,cd到mongodb目錄下的bin文件夾,執行命令./mongo即可 
運行如下:

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

 

 

2、添加管理用戶(mongoDB 沒有無敵用戶root,只有能管理用戶的用戶 userAdminAnyDatabase),

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

 

 

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

3、添加完管理用戶后,關閉MongoDB,並使用權限方式再次開啟MongoDB,這里注意不要使用kill直接去殺掉mongodb進程,(如果這樣做了,請去data/db目錄下刪除mongo.lock文件),可以使用db.shutdownServer()關閉

4、使用權限方式啟動MongoDB

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

 

或者在配置文件中修改:

 auth = true #noauth = true

 

5、進入mongo shell,使用admin數據庫並進行驗證,如果不驗證,是做不了任何操作的。

> use admin > db.auth("admin","123456") #認證,返回1表示成功

 

 

6、驗證之后還是做不了操作,因為admin只有用戶管理權限,下面創建用戶,用戶都跟着庫走,

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

 

 

7、使用創建的用戶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

 

 

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

然后就可以進行增刪改查各種數據操作…

8、查看已存在的用戶

> db.system.users.find()

 

9、刪除用戶

> use mydb
> db.system.users.remove({user:"root"}) > db.system.users.find()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM