天天看點

Mongodb4.0操作指令

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
           
Mongodb4.0操作指令

#進入mongodb資料庫

mongo
           
Mongodb4.0操作指令

#如果資料庫不存在,則建立資料庫,否則切換到指定資料庫

use admin
           
Mongodb4.0操作指令

#檢視所有資料庫

show dbs
           
Mongodb4.0操作指令

#建立管理者賬号(該賬号可以對所有資料庫進行使用者管理)

db.createUser(
 {
   user: "admin",
   pwd: "123456",
   roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]
 }
 )
           
Mongodb4.0操作指令

#建立超級使用者

db.createUser( {user:"zsx", pwd:"1234",  roles:["root"]})  
           
Mongodb4.0操作指令

# 建立一個業務資料庫管理者使用者,對其他資料庫有隻讀權限,對jdbc、jpa是讀寫權限

db.createUser({
    user:"springboot",
    pwd:"1234",
    roles:[
        {role:"readWrite",db:"jdbc"},
        {role:"readWrite",db:"jpa"},
        'read'
    ]
})
           
Mongodb4.0操作指令

#檢視目前庫下的使用者

show users
           
Mongodb4.0操作指令

#修改使用者密碼

db.changeUserPassword('admin','1234')
           
Mongodb4.0操作指令

#删除使用者

db.dropUser("user1")
           
Mongodb4.0操作指令

 #修改使用者角色

db.grantRolesToUser("test",  [{role:"readWrite", db:"myTest"}] )
           
Mongodb4.0操作指令
db.grantRolesToUser("test", [ "readWrite" , { role: "read", db: "stock" } ],{ w: "majority" , wtimeout: 4000 })
官方:db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } )
           
Mongodb4.0操作指令
db.updateUser("test",{roles:[{ role: "readWrite", db: "myTest" }]})
           
Mongodb4.0操作指令

#windows下開啟權限驗證,修改配置檔案mongod.cfg ,重新開機MongoDB服務

security:
  authorization: enabled
           
Mongodb4.0操作指令

 #權限驗證

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資料庫中可用。超級賬号,超級權限