1.4 mongoDB認證配置
阿新 • • 發佈:2021-02-16
技術標籤:YApimongodb認證配置
mongodb的密碼和mysql不同,mongodb的密碼是基於資料庫的,而不是基於系統的
1、在後臺管理shell中
show dbs
2、進入admin資料庫
use admin
3、建立管理員賬戶
db.createUser({ user: "admin", pwd: "adminpwd", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
關於角色可以參考別人的文章:https://blog.csdn.net/m0_37867491/article/details/87883947
4、建立超級管理員
db.createUser({user: "root",pwd: "rootpwd", roles: [ { role: "root", db: "admin" } ]})
root角色可以用於關閉資料庫
5、建立資料庫,並插入資料
use mongodbtest
插入資料
db.mongotest.insert({"name":"taobao"})
查詢插入的資料
db.mongotest.find().pretty()
如果不插入資料,使用show dbs是看不到新建的資料庫的,在沒有建立集合的下,直接插入資料,
會生成一個和庫名相同的集合
六、建立使用者
db.createUser({user:"test",pwd:"testpwd",roles:[{role:"readWrite",db:"mongotest"}]})
七、開啟認證
在usr/local/mongodb/bin目錄下建立mongodb.conf,注意配置檔案的格式使用的yml語法
config的配置引數參考文件:https://www.jb51.net/article/87914.htm
dbpath 資料檔案存放目錄 logpath 日誌檔案存放目錄 logappend 日誌追加 port 埠 authorization 啟用驗證 fork = true 以守護程式的方式啟用,即在後臺執行 bind_ip #127.0.0.1 只限於本機連線。配置成0.0.0.0 ,別的機器才可以連線 systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log net: port: 27017 bindIp: 0.0.0.0 security: authorization: enabled storage: dbPath: /var/lib/mongo processManagement: fork: true
關閉服務,此時關閉服務就需要登入了
use admin
db.auth("root","rootpwd") 鑑權
db.shutdownServer()
啟動
./mongod -f mongodb.conf
開發埠
firewall-cmd --zone=public --add-port=27017/tcp --permanent
重啟防火牆
firewall-cmd --reload