1
我遇到了問題,本地連接到我的vps上的mongodb。 VPS已經安裝了Ubuntu 14.這些是香港專業教育學院所採取的步驟:mongodb本地連接到vps數據庫
- 註釋規則在
/etc/mongod.conf
#bind_ip = 127.0.0.1
- 重啓蒙戈過程
service mongod restart
- 加入規則來防火牆,以便它接受連接:
- MongoDB中
的用戶:
use admin db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase'] })
我讀到這說明,如果您創建上述方法的用戶將是管理員用戶的所有數據庫的文章,但在現實中,我只能成功連接到admin
db。如果我嘗試連接到其他mydb
數據庫,則會引發錯誤Authorization fails
。
此連接的工作原理:
mongo.connect('mongodb://myuser:[email protected]:27017/admin',function(err, db) {
這一個犯規:
mongo.connect('mongodb://myuser:[email protected]:27017/mydb',function(err, db) {
我如何添加用戶MONGO所以它將允許帶mydb
連接?創建與它按預期工作上面的語法用戶後
use mydb
db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['readWrite'] })
:
因爲'* AdminAnyDataBase'角色確實允許「管理」功能(例如授予權限),但實際上並沒有其他任何東西,所以您可能實際上需要再次閱讀「角色」頁面。所以你的「應用程序」真的想要一個「readWrite」或類似的東西,並且它也想知道你准許哪個數據庫命名空間。當前應用的角色不使用數據庫名稱空間,因此實際上只應用對管理帳戶信息的「admin」數據庫的訪問權限。所以如果你想要不同的訪問,那麼你實際上需要設置它。目前你還沒有。 –
謝謝你的提示;) – Mevia