Windows下Mongodb安裝部署


1、下載安裝包

mongodb-win32-x86_64-enterprise-windows-64-3.6.4.zip

解壓

安裝失敗(當前環境windows server2012 R2):已驗證可以正常安裝

先安裝Windows8.1-KB2919442-x64.msu

再安裝 Windows8.1-KB2919355-x64.msu

再安裝 NDP461-KB3102436-x86-x64-AllOS-ENU.exe(.net framework 4.6.1)

上面的步驟可能會要求重啟電腦,全部安裝成功之后,再安裝

vcredist_x64.exe

成功,完美。

 

新建數據存放路徑

 

 

進入bin目錄下,cmd啟動mongodb服務。

mongod --dbpath D:\software\MongoDB\data\db

 

 

在瀏覽器上訪問,出現如下頁面表示安裝成功:

如果不成功,可以查看端口是否被占用。

 

2、將mongodb配置為服務

在data下新建log文件夾,存放日志

新建配置文件mongo.config,並配置路徑

dbpath=E:\mongodb\mongodb3.6.4\data\db

logpath=E:\mongodb\mongodb3.6.4\data\log\mongo.log

以管理員運行cmd,安裝mongodb服務。

mongod --config E:\mongodb3.6.4\mongodb\mongo.config --install --serviceName "MongoDB"

mongo服務卸載

mongod.exe --remove --serviceName "MongoDB"

 

刪除這兩個文件(產生這個錯誤的的原因應該是cmd窗口開啟了mongodb服務,關閉cmd窗口即可)

mongodb中的權限

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數據庫中可用。超級賬號,超級權限

 

MongoDB是沒有默認管理員賬號的,所以要先添加管理員賬號,添加一個 userAdminAnyDatabase 用戶,這是一個能夠管理所有用戶的的用戶

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

 

用admin用戶登錄mongodb,創建數據庫etm和它對應的用戶etm,所有用戶只能在用戶所在的數據庫登錄,管理員可以管理所有的數據庫,但是不能直接管理其它數據庫,要先在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 etm
switched to db etm
> db.createUser({user:"etm",pwd:"123",roles:[{"role":"readWrite","db":"etm"}]})
Successfully added user: {
        "user" : "etm",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "etm"
                }
        ]
}
> exit

用etm登錄etm庫,插入一條數據並查詢

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

 

需要遠程連接時,在config文件中增加一條配置即可:

bind_ip = 192.168.168.180

 


免責聲明!

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



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