您好,登錄后才能下訂單哦!
這篇文章主要介紹MongoDB數據庫開啟用戶密碼訪問的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一、開啟訪問認證
1、Mongdb默認啟動時是沒有開啟安全訪問驗證的,需要在啟動服務的時候加上 --auth 參數來啟動安全驗證。
2、開啟訪問認證:
①、通過命令啟動mongodb服務-開啟認證
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork --auth
--fork指定后臺運行
--auth開啟驗證
--dbpath指定數據庫目錄
--logpath指定日志文件
--logappend日志累積添加
②、通過配置文件啟動mongodb服務-開啟認證
在配置文件中添加auth=true配置,開啟安全認證。
啟動服務即可。
二、創建mongoDB用戶
開啟認證后,連接mongodb時,就需要提供用戶名和密碼。
mongodb的用戶分兩種,一種是管理員,一種是普通用戶。
管理員管理普通用戶、普通用戶管理數據庫數據,所以我們要先創建管理員。
1、創建管理員必須要在admin數據庫下創建,首先關閉認證。
2、選擇admin
3、給管理員創建用戶和密碼
后面的db必須為admin
db.createUser({user:'admin',pwd:'admin',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
mongodb role類型
· 數據庫用戶角色(Database User Roles):
(1)read:授予User只讀數據的權限
(2)readWrite:授予User讀寫數據的權限
· 數據庫管理角色(Database Administration Roles):
(1)dbAdmin:在當前dB中執行管理操作
(2)dbOwner:在當前DB中執行任意操作
(3)userAdmin:在當前DB中管理User
· 備份和還原角色(Backup and Restoration Roles):
(1)backup
(2)restore
· 跨庫角色(All-Database Roles):
(1)readAnyDatabase:授予在所有數據庫上讀取數據的權限
(2)readWriteAnyDatabase:授予在所有數據庫上讀寫數據的權限
(3)userAdminAnyDatabase:授予在所有數據庫上管理User的權限
(4)dbAdminAnyDatabase:授予管理所有數據庫的權限
· 集群管理角色(Cluster Administration Roles):
(1)clusterAdmin:授予管理集群的最高權限
(2)clusterManager:授予管理和監控集群的權限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively.
(3)clusterMonitor:授予監控集群的權限,對監控工具具有readonly的權限
(4)hostManager:管理Server
4、創建普通用戶
db為要操作的數據庫
use shop db.createUser({user:'dev',pwd:'123456',roles:[{role:'dbOwner',db:'shop'}]})
三、開啟認證
1、登錄,在mongo客戶端界面,首先切換到admin下,在輸入用戶名和密碼登錄。
2、查看系統用戶信息
3、修改用戶密碼
db.changeUserPassword(username, password)
①、修改用戶密碼,首先用管理員登錄。
②、切換到要修改用戶所管理的數據庫上。例如,shopuser用戶管理shop數據庫。首先切換到shop數據庫。
③、再修改shopuser用戶的登錄密碼。
4、刪除用戶
①、刪除用戶,首先用管理員登錄。
②、切換到要刪除的用戶所管理的數據庫上。例如,shopuser用戶管理shop數據庫。首先切換到shop數據庫。
③、再刪除shopuser用戶。
以上是MongoDB數據庫開啟用戶密碼訪問的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。