mongodb Access control is not enabled for the database 無訪問控制解決方案


轉載:https://blog.csdn.net/q1056843325/article/details/70941697

今天使用MongoDB時遇到了一些問題

 

建立數據庫連接時出現了warnings

出現這個警告的原因是新版本的MongDB為了讓我們創建一個安全的數據庫
必須要進行驗證
后來在外網找到了答案

解決方案如下:

創建管理員

use admin
db.createUser(
{
user: "userAdmin", //用戶名
pwd: "123", //密碼
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //權限
}
)

重啟MongoDB服務器

mongod --auth --port 27017 --dbpath <關聯路徑>
1
(端口默認就是27017可以不指定)

 

終端最后輸出"[initandlisten] waiting for connections on port 27017",
啟動完成

連接並認證

mongo --port 27017 -u "userAdmin" -p "123" --authenticationDatabase "admin"
1
添加額外權限用戶

use test
db.createUser(
{
user: "tester",
pwd: "123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

MongoDB更新了,使用mongoose也不能簡單的建立連接了
必須要添加必要參數

var mongoose = require('mongoose');
var db = mongoose.createConnection('localhost', 'test', 27017, {user: 'tester', pass: '123'});


免責聲明!

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



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