MongoDb在windows10下的安裝、建立用戶和數據庫

1.mongodb下載地址https://www.mongodb.com/download-center#communitymongodb

2.安裝shell

  

3.在D:\MongoDB目錄下建立db和log兩個文件夾,並建立環境變量,以下圖所數據庫

 

4.這個步驟沒必要執行,只是爲了說明不用auth的形式安裝MongoDB的狀況windows

MongoDB安裝完成後,默認是不須要輸入用戶名密碼便可登陸的,以管理員的身份打開cmd,執行sc create MongoDB binpath="D:\MongoDB\bin\mongod.exe --dbpath D:\MongoDB\data --logpath D:\MongoDB\log\log.log  --logappend --service",便可安裝MongoDB服務,安裝完成後能夠在windows服務中能夠看到MongoDB,在屬性中能夠設置開機自動啓動,在命令行執行mongo便可進行CRUD操做app

 

5.以超級管理員的身份打開cmd,(若是已經執行了步驟4,能夠先在命令行執行net stop MongoDB中止服務,而後執行sc delete MongoDB刪除服務,進入步驟4所示服務管理窗口,F5刷新確認MongoDB服務已被刪除;若是沒執行步驟4能夠不作這一步),以auth的方式註冊服務sc create MongoDB binpath="D:\MongoDB\bin\mongod.exe --dbpath D:\MongoDB\data --logpath D:\MongoDB\log\log.log  --logappend --auth --service"函數

啓動服務net start MongoDB命令行

6.mongodb中的權限rest

1. 數據庫用戶角色:read、readWrite;  
2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;       
3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 全部數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root  
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system
read:容許用戶讀取指定數據庫 
readWrite:容許用戶讀寫指定數據庫 
dbAdmin:容許用戶在指定數據庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile 
userAdmin:容許用戶向system.users集合寫入,能夠找指定數據庫裏建立、刪除和管理用戶 
clusterAdmin:只在admin數據庫中可用,賦予用戶全部分片和複製集相關函數的管理權限。 
readAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀權限 
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀寫權限 
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的userAdmin權限 
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的dbAdmin權限。 
root:只在admin數據庫中可用。超級帳號,超級權限

7.MongoDB是沒有默認管理員帳號的,因此要先添加管理員帳號,添加一個 userAdminAnyDatabase 用戶,這是一個可以管理全部用戶的的用戶server

C:\Windows\system32>mongo
MongoDB shell version v3.6.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.0
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"123",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}
> exit
bye

C:\Windows\system32>

8.用admin用戶登陸mongodb,建立數據庫incentive和它對應的用戶zjl,全部用戶只能在用戶所在的數據庫登陸,管理員能夠管理全部的數據庫,可是不能直接管理其它數據庫,要先在admin數據庫中認證才能夠教程

C:\Windows\system32>mongo -u admin -p 123 localhost:27017/admin
MongoDB shell version v3.6.0
connecting to: mongodb://localhost:27017/admin
MongoDB server version: 3.6.0
> use incentive
switched to db incentive
> db.createUser({user:"zjl",pwd:"123",roles:[{"role":"readWrite","db":"incentive"}]})
Successfully added user: {
        "user" : "zjl",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "incentive"
                }
        ]
}
> exit
bye

9.用zjl登陸incentive庫,插入一條數據並查詢

C:\Windows\system32>mongo -u zjl -p 123 localhost:27017/incentive
MongoDB shell version v3.6.0
connecting to: mongodb://localhost:27017/incentive
MongoDB server version: 3.6.0
> db.myCol.insert({title: 'MongoDB 教程'})
WriteResult({ "nInserted" : 1 })
> db.myCol.find()
{ "_id" : ObjectId("5a32ac7838335872bbc1fd0b"), "title" : "MongoDB 教程" }
>

10.綁定服務IP sc create MongoDB binpath="c:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" -dbpath E:\mongoDB\db -logpath E:\mongoDB\log\MongoDB.log --logappend --auth --service --bind_ip_all"

相關文章
相關標籤/搜索