下載MongoDB的安裝文件https://www.mongodb.com/download-center#community,選擇合適的版本(注:本人選擇的是3.2.6)
下載完MongoDB.msi后點擊Next一路安裝下去(注:本人的mongodb的安裝路徑為D:\MongoDB\Server\)
將MongoDB服務器作為Windows服務運行
請注意,你必須有管理權限才能運行下面的命令。執行以下命令將MongoDB服務器作為Windows服務運行:
mongod.exe --bind_ip 127.0.0.1 --logpath "D:\MongoDB\Server\mglogs\mongodb.log" --logappend --dbpath "D:\MongoDB\Server\db" --serviceName "mongodb" --serviceDisplayName "mongodb" --auth --install (注:加上--auth 這樣以后就可以使用用戶名和密碼后才能進行MongoDB的相關操作)
上述命令運行成功后,開始—>運行—>輸入services.msc 回車后就可以打開 windows 所有的服務項列表 ;在列表中就可以查看到mongodb的服務項,點擊啟動。
--------------------------------------------------------------------------------------------------------------------------
啟動完MongoDB后,cmd命令下進入D:\MongoDB\Server\bin(即MongoDB的安裝目錄),執行mongo.exe;
上面提到過為了MongoDB的安全,我們必須通過用戶名和密碼登陸后才能操作MongoDB,現在增加一個管理員:
use admin 注:MongoDB安裝好以后由默認的admin表和local表;其中admin存放的是用戶信息
db.createUser({ user: "root",pwd: "root",customData:{name:"root"},roles:[{ role: "userAdminAnyDatabase",db: "admin" }]}) 注:創建一個用戶名和密碼為root的管理員
創建完后登陸
db.auth('root','root')
show collections
--------------------------------------------------------------------------------------------------------------------------
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 db01db.createUser({user:"oneUser",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})
> 創建一個不受訪問限制的超級用戶 use admindb.createUser({user:"superuser",pwd:"pwd",roles:["root"] })
--------------------------------------------------------------------------------------------------------------------------
修改用戶密碼
use admin
db.changeUserPassword("username", "xxx")
--------------------------------------------------------------------------------------------------------------------------
查看用戶信息
db.runCommand({usersInfo:"userName"})
--------------------------------------------------------------------------------------------------------------------------
修改密碼和用戶信息
db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} })
注意:和用戶管理相關的操作基本都要在admin數據庫下運行,要先use admin;
