1
私のvpsでmongodbにローカル接続する際に問題が発生しています。 VPSは、これらのステップが取らアイブさのUbuntu 14がインストールされている:mongodbがローカルにvpsデータベースに接続します
- が
/etc/mongod.conf
#bind_ip = 127.0.0.1
- でルールをコメントアウトそれが受け入れるよう
service mongod restart
- がファイアウォールにルールを追加したMongoの処理を再開接続:
- MongoDBの中
作成したユーザーには:
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'] })
:
'* AdminAnyDataBase'ロールは権限の付与などの"管理 "機能を許可していますが、実際には何もしていないので、実際には" roles "ページをもう一度読みたいかもしれません。したがって、あなたの "アプリケーション"は本当に "readWrite"または同様のものを望んでおり、あなたが許可しているデータベースの名前空間を知りたいと思っています。現在適用されているロールはデータベースの名前空間を使用しないため、実際にはアカウント情報を保持する「admin」データベースへのアクセスのみを適用します。したがって、異なるアクセスが必要な場合は、実際にそれを設定する必要があります。現在あなたはしていません。 –
ヒントありがとう;) – Mevia