mongodb設置密碼和修改默認端口


一、提升密碼安全性:

mongodb密碼和傳統數據如mysql等有些區別: mongodb的用戶名和密碼是基於特定數據庫的,而不是基於整個系統的。所有數據庫db都需要設置密碼

1、進入mobgodb服務:在bin目錄下進入dos命令,輸入mongo   或直接雙擊bin目錄下的mobgo.exe也可以進入該頁面

 

 

 2、查看所有數據庫:show dbs

 

 

3、進入admin數據庫:use admin

 

 

4、創建管理員賬號:db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

mongodb中的用戶是基於身份role的,該管理員賬戶的 role是 userAdminAnyDatabase。admin用戶用於管理賬號,不能進行關閉數據庫等操作

 

 

5、驗證用戶是否添加成功

db.auth("useradmin""adminpassword") #如果返回1,則表示成功。

 

 

6、創建一個超級管理員root:db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]})

角色:root。root角色用於關閉數據庫

 

 

7、創建用戶自己的數據庫的管理角色

use yourdatabase   這里的use db名,當你db名不存在的時候會自動創建一個db

db.createUser({user: "user",pwd: "password",roles: [ { role: "dbOwner", db: "yourdatabase" } ]})

 

role: "dbOwner"代表數據庫所有者角色,擁有最高該數據庫最高權限。比如新建索引等當賬號管理員和超級管理員,可以為自己的數據庫創建用戶了。(坑)這時候一定,一定要切換到所在數據庫上去創建用戶,不然創建的用戶還是屬於admin。

 

如果是讀寫角色的話,權限設置為role: "readWrite",表示該用戶只有讀寫權限

 

 

 現在直接在查看所有數據庫,是不會顯示出來,必須要添加一條數據才行的。

 

7.1、創建表collections進行增刪改查isruf(insert/save remove update find)

  接着上面的ceshi庫下,創建一個login表(mongodb描述的collection)db.login.insert({"name":"zhangsan","age":23}),mongodb里面沒有表結構的概念,它是BSON數據,所以直接添加一條數據,然后在show dbs就顯示出來了新加的ceshi庫

 

 

現在庫-表都已建好,直接執行下面的語句

db.login.insert({"name":"zhangsan2","address":"shanghai"})

db.login.insert({"name":"zhangsan3","address":"zhejiang"})

db.login.update({"name":"zhangsan"},{"age":24})   update前一個括號表示要修改的條件,后一個括號表示要修改成的數據

db.login.update({"age":24},{"name":"zhangsan","address":"hangzhou"})

db.login.remove({"name":"zhangsan"})

db.login.save({"name":"zhangsan","age":24,"address":"jiangsu"})

db.login.save({"name":"zhangsan4","message":[{"sex":'M',"age":23},{"favorite":"haha"}]})

db.login.find()

 

 

 

 

8、查看用戶:show users

9、刪除用戶

刪除用戶必須由賬號管理員來刪,所以,切換到admin角色

 use admin

db.auth("admin","password")

刪除單個用戶:db.system.users.remove({user:"XXXXXX"})

刪除所有用戶:db.system.users.remove({})

 

二、修改默認端口27017

1、修改mongodb的配置文件中的端口,然后需要去重啟服務

 

 

2、由於mongodb服務中,你會發現啟動服務的命令中包含了端口,所以需要將服務刪掉后重新再新建一個服務

 

 

刪除服務命令:dos中輸入sc delete 服務名稱

 

 

3、刪除服務后重新啟動一個mongodb服務:比如我的新端口是27077,下面就要修改

mongod --logpath "D:\MongoDB\Server\3.4\log\mongo.log" --logappend --dbpath "D:\MongoDB\Server\3.4\db" --port 27077 --serviceName "MyMongoDb" --serviceDisplayName "MyMongoDb_default" --install

 


免責聲明!

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



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