MongoDB3.2安裝及建立使用者名稱和密碼
2.解壓或安裝到自己想要安裝的目錄,比如D:\MongoDB
3.建立資料夾D:\MongoDB\Server\3.2\data、D:\MongoDB\Server\3.2\logs,分別用來安裝db和日誌檔案
4.以管理員的身份命令列進入bin目錄,執行以下命令將MongoDB安裝成服務:
mongod --logpath D:/MongoDB/Server/3.2/logs/mongodb.log --logappend --dbpath D:/MongoDB/Server/3.2/data --directoryperdb --serviceName MongoDB --auth -install
(注:加上 --auth 表示使用使用者名稱和密碼後才能進行MongoDB的相關操作)
安裝成功後,可以在服務裡看到,執行命令net start mongodb或手動啟動服務:
5.MongoDB的bin目錄下,執行:
use admin (注:MongoDB安裝好以後由預設的admin庫和local庫;其中admin存放的是使用者資訊)
db.createUser({user:"root",pwd:"123456",roles:["root"] }) (注:這裡建立了一個不受訪問限制的超級使用者)
db.dropUser("root") (注:移除使用者前可能需要認證操作 db.auth("root","123456"))
createUser 建立使用者,如:
db.createUser( {
user: "accountAdmin01",
pwd: "changeMe",
customData: { employeeId: 12345 },
roles: [
{ role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" },
"readWrite"
]
},
{
w: "majority",
wtimeout: 5000
} )
customData 使用者資訊備註
roles
1. 資料庫使用者角色:read、readWrite;
2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級使用者角色:root
建立一般使用者,也是用createUser,如:use test db.createUser({user:"test",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})
7.如果遇到服務開啟不了、發生服務特定錯誤: 100或發生服務特定錯誤: 48
解決方案:
1.刪除D:\MongoDB\Server\3.2\data\mongod.lock檔案
2.刪除服務
mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --remove
3.重新安裝 (注意:去除--directoryperdb 命令)
mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --serviceName "MongoDB" --install