msi安裝包下載下傳位址:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.10-signed.msi
zip檔案下載下傳位址:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.10.zip
在公司能安裝成功的msi安裝包,拿回給自己安裝,無奈隻能下載下傳zip免安裝版,就有了如下添加配置修改
#設定資料存放位置
mongod --dbpath H:\MongoDB\data
#指定日志檔案位置
mongod –logpath H:\MongoDB\log\mongo.log
#指定配置檔案位置
mongod --config H:\MongoDB\config\mongod.cfg
#完整指令(設定資料存放位置、日志位置、日志追加、配置檔案位置、服務名、驗證)
mongod –dbpath H:\MongoDB\data\db –logpath H:\MongoDB\log\mongo.log –logappend --config H:\MongoDB\config\mongod.cfg –serviceName MongoDB –auth –install
#啟動服務
net start MongoDB
#停止服務
net stop MongoDB
#解除安裝服務
sc delete MongoDB
#檢視資料庫版本
mongo --version
#進入mongodb資料庫
mongo
#如果資料庫不存在,則建立資料庫,否則切換到指定資料庫
use admin
#檢視所有資料庫
show dbs
#建立管理者賬号(該賬号可以對所有資料庫進行使用者管理)
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]
}
)
#建立超級使用者
db.createUser( {user:"zsx", pwd:"1234", roles:["root"]})
# 建立一個業務資料庫管理者使用者,對其他資料庫有隻讀權限,對jdbc、jpa是讀寫權限
db.createUser({
user:"springboot",
pwd:"1234",
roles:[
{role:"readWrite",db:"jdbc"},
{role:"readWrite",db:"jpa"},
'read'
]
})
#檢視目前庫下的使用者
show users
#修改使用者密碼
db.changeUserPassword('admin','1234')
#删除使用者
db.dropUser("user1")
#修改使用者角色
db.grantRolesToUser("test", [{role:"readWrite", db:"myTest"}] )
db.grantRolesToUser("test", [ "readWrite" , { role: "read", db: "stock" } ],{ w: "majority" , wtimeout: 4000 })
官方:db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } )
db.updateUser("test",{roles:[{ role: "readWrite", db: "myTest" }]})
#windows下開啟權限驗證,修改配置檔案mongod.cfg ,重新開機MongoDB服務
security:
authorization: enabled
#權限驗證
db.auth( "admin", "1234" )
#插入資料到jpa資料庫中
db.jpa.insertOne( { x: 1 } );
#其他(暫未全部驗證)
資料庫使用者角色:read、readWrite;
資料庫管理角色:dbAdmin、dbOwner、userAdmin;
叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManage;
備份恢複角色:backup、restore;
所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級使用者角色:root
内部角色:__system
read:允許使用者讀取指定資料庫
readWrite:允許使用者讀寫指定資料庫
dbAdmin:允許使用者在指定資料庫中執行管理函數,如索引建立、删除,檢視統計或通路system.profile
userAdmin:允許使用者向system.users集合寫入,可以在指定資料庫裡建立、删除和管理使用者
clusterAdmin:隻在admin資料庫中可用,賦予使用者所有分片和複制集相關函數的管理權限。
readAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的讀權限
readWriteAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的讀寫權限
userAdminAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的userAdmin權限
dbAdminAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin權限。
root:隻在admin資料庫中可用。超級賬号,超級權限