Windows下MongoDB安裝及創建用戶名和密碼


下載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;


免責聲明!

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



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