言簡意賅,步驟如下:
- 連接mongo? ? ? ? ?
mongo - 進入admin數據庫? ?
use admin - 創建管理員賬戶
db.createUser({ user: "adminName", pwd: "adminPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用戶是基于身份role的,該管理員賬戶的 role是 userAdminAnyDatabase。 顧名思義即超級管理員,后續可以在命令行通過類似mysql連接數據庫的方式訪問到數據庫的所有內容,操作如下:
mongo -u root -p 然后輸入密碼:adminPassword - 驗證第3步用戶添加是否成功
db.auth("adminName", "adminPassword")
?# 如果返回1,則表示成功。db.auth()
方法理解為 用戶的驗證功能exit? ?#?
退出系統 - 修改配置
sudo vim /etc/mongod.conf
找到#security:
?取消注釋,修改為:security:
authorization:?enabled?#!!!注意首行空兩個,縮進錯誤將會導致第6步重啟失敗
重啟mongodb
sudo service mongod restart
- 進入mongodb,用第3步的 管理員賬戶登錄,用該賬戶創建其他數據庫管理員賬號
use?admin
db.auth("adminName",?"adminPassword")
新建你需要管理的mongodb 數據的賬號密碼。
use?yourDatabase
db.createUser({?user:?"yourUser",?pwd:?"yourPassword",?roles:?[{?role:?"dbOwner",?db:"yourDatabase"?}]?})
# dbOwner 代表數據庫所有者角色,擁有最高該數據庫最高權限。比如新建索引等- 新建數據庫讀寫賬戶
use?yourdatabase
db.createUser({?user:?"yourUser2",?pwd:?"yourPassword2",?roles:?[{?role:?"readWrite",db:?"yourDatabase"?}]?})
# 該用戶用于該數據的讀寫,只擁有讀寫權限。 - 現在數據的用戶名和密碼就建好了。
使用:mongodb://yourUser2:yourPassword2@localhost/yourDatabase
來鏈接
- 連接mongo? ? ? ? ?