一、提升密碼安全性:
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