2017-08-25 4 views
1

私のvpsでmongodbにローカル接続する際に問題が発生しています。 VPSは、これらのステップが取らアイブさのUbuntu 14がインストールされている:mongodbがローカルにvpsデータベースに接続します

  1. /etc/mongod.conf
    • #bind_ip = 127.0.0.1
    • でルールをコメントアウトそれが受け入れるようservice mongod restart
  2. がファイアウォールにルールを追加したMongoの処理を再開接続:
    • MongoDBの中
  3. 作成したユーザーには:

    use admin 
    db.createUser({ 
        user: 'myuser', 
        pwd: 'mypassword', 
        roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase'] 
    }) 
    

は、私はあなたが上記の方法でユーザを作成した場合、それはすべてのデータベースの管理者ユーザーになることを述べた記事を読んで、実際にはI admin dbにのみ正常に接続できます。他のmydbデータベースに接続しようとすると、エラーAuthorization failsがスローされます。

この接続作品:

mongo.connect('mongodb://myuser:[email protected]:27017/admin',function(err, db) { 

この1つのdoesntの:

mongo.connect('mongodb://myuser:[email protected]:27017/mydb',function(err, db) { 

どのように私はそれがmydbと接続できるようになりますモンゴするようにユーザーを追加することができますか?期待どおりに動作します上記の構文を持つユーザを作成した後

use mydb 
db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['readWrite'] }) 

+1

'* AdminAnyDataBase'ロールは権限の付与などの"管理 "機能を許可していますが、実際には何もしていないので、実際には" roles "ページをもう一度読みたいかもしれません。したがって、あなたの "アプリケーション"は本当に "readWrite"または同様のものを望んでおり、あなたが許可しているデータベースの名前空間を知りたいと思っています。現在適用されているロールはデータベースの名前空間を使用しないため、実際にはアカウント情報を保持する「admin」データベースへのアクセスのみを適用します。したがって、異なるアクセスが必要な場合は、実際にそれを設定する必要があります。現在あなたはしていません。 –

+0

ヒントありがとう;) – Mevia

答えて

0

は私がちょうど学び、いくつかの解決策をテストし、[OK]、これは問題を解決します。

関連する問題