Windows下MongoDB設置用戶、密碼


  在默認情況下,mongod是監聽在127.0.0.1之上的,任何客戶端都可以直接連接27017,且沒有認證。

好處是,用戶可以即時上手,不用擔心被一堆配置弄的心煩意亂。

壞處是,公網服務器搭建MongoDB,那么所有人都可以直接訪問並修改數據庫數據了。

默認情況下,mongod也是沒有管理員賬戶的。因此除非你在admin數據庫中使用db.createUser()命令添加了管理員帳號,且使用–auth參數啟動mongod,否則在數據庫中任何人都可以無需認證執行所有命令。

 

一、創建所有數據庫管理員用戶:

1、管理員身份運行cmd.exe,先cd到Mongodb安裝目錄的bin目錄,

輸入命令mongo.exe,進入mongodb命令界面:

 

2、創建數據庫test1

插入一條數據,然后用命令:show dbs 才能看到

可以看到test1。

 

3、進入admin數據庫:

命令:use admin

 

4、創建管理賬號:

首先看看mongodb內置角色:

    1. 數據庫用戶角色:read、readWrite;
    2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 備份恢復角色:backup、restore;
    5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超級用戶角色:root  
    7. 內部角色:__system

使用命令:db.createUser({user:"testAdmin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

 

5、重啟mongodb服務,

重新打開cmd,在mongodb路徑的bin目錄下,執行mongod --dbpath  d:\mongodb\data  --auth   (data是安裝mongodb創建的數據庫文件夾)

 

6、驗證用戶添加是否成功:

結果為1,說明成功。

 

7、使用Robomongo工具連接:

可以看到剛才創建的管理員用戶testAdmin(角色userAdminAnyDatabase),有權限訪問所有數據庫。

 

二、下面對單個數據庫設置用戶、密碼

 同上創建test1的方式,創建數據庫test2

運行命令: db.createUser({user:'test2admin',pwd:'123456',roles:[{role:'readWrite',db:'test2'}]})

使用Robomongo工具連接:

用戶test2admin只能看到數據庫test2。

 

 

 


免責聲明!

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



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