創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
這篇文章主要介紹mongodb開啟身份認證的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
開啟身份認證的兩種方式
1、連接時使用命令參數 --auth
mongod --auth --port 27017 --dbpath '數據庫文件的絕對路徑'
2、修改mongod.conf文件
如果你使用配置文件啟動mongodb,在配置文件中加入下列內容,這里有兩種寫法:
YMAL的配置文件格式(mongodb2.6版本之后引入的配置文件格式)
注意:這里有一個大坑,yaml格式的配置文件,要求是同冒號+空格來分隔鍵值對,否則會解析錯誤。(當時折騰了很久)
security: authorization: enabled
可以使用命令mongod -f /etc/mongod.conf啟動mongodb,如果解析錯誤,會在終端打印出失敗的原因,沒有信息說明mongod實例啟動成功了!
2.6版本之前的配置文件格式(向后兼容的,所以兩種格式的配置可以混用)
auth=true
以上兩種修改方式,大家選擇一種即可,修改完之后使用命令sudo service mongod restart 重啟服務,再使用命令service mongod status查看服務是不是真的啟動了,如果顯示mongod start/running說明啟動成功。之后就啟用了角色訪問控制,用戶只能訪問已被授予權限的數據庫資源和操作。
小貼士:windows用戶可以參考如下命令,將mongodb安裝為服務,這樣就不用每次都去啟動mongod實例
#安裝服務 mongod --config "E:\someSoftWare\MongoDB\mongodb.config" --install --serviceName "mongo" #卸載服務 mongod --dbpath "E:\someSoftWare\data\db" --logpath "E:\someSoftWare\data\log\mongodb.log" --remove #啟動服務 net start mongo
注意:這里config文件的路徑要加雙引號("),否則會一直提示找不到文件
使用用戶管理員登錄數據庫
在連接期間進行身份驗證
mongo --port 27017 -u "登錄名" -p "密碼" --authenticationDatabase "數據庫名"
如果驗證失敗會在命令行打印如下信息
連接成功之后再認證 #連接 mongo --port 27017 #進入admin數據庫 use admin #在admin數據庫中認證 db.auth('用戶管理員名稱','密碼')
驗證成功打印1,失敗打印0.
使用用戶管理員創建其他用戶,細化管理。
給某個數據創建具有讀權限的用戶
#給test數據庫添加 db.createUser({ user:"readUser", pwd:'123qwezxc', roles:[ { role:"read", db:"test" } ] })
創建具有讀寫權限的用戶
db.createUser({ user:"readWriteUser", pwd:'123qwezxc', roles:[ { role:"readWrite", db:"test" } ] })
創建具有數據備份權限的用戶(只能在admin數據庫中添加)
db.createUser({ user:"backupUser", pwd:'123qwezxc', roles:[ { role:"backup", db:"admin" } ] })
注意:db只能指定admin,因為backup和restore角色都在admin數據據庫中
創建具有數據備份權限的用戶(只能在admin數據庫中添加)
db.createUser({ user:"restoreUser", pwd:'123qwezxc', roles:[ { role:"restore", db:"admin" } ] })
mongodb系統內置了很多角色,這里就不一一列舉了,可以查看mognodb內置角色,創建符合自己需求的用戶。
以上是mongodb開啟身份認證的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道!
新聞標題:mongodb開啟身份認證的方法-創新互聯
文章源于:http://newbst.com/article26/dgicjg.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、微信小程序、定制網站、網站設計、ChatGPT、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯