web-dev-qa-db-ja.com

MongoDBに接続できません

MongoDB(標準のUbuntuビルド、最新の安定版ではない)をインストールしたばかりで、何らかの理由で接続できません。

Mon Feb  6 03:11:22 Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:79
exception: connect failed

今私のマシンは127.x.x.1ではありませんそれは何らかの理由でx.x.x.2です(しかし、そのアドレスにバインドするように私の設定を変更し、また、役に立たないパブリックIPにバインドしようとしました。

構成:

#mongodb.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 199.21.114.XX
port = 27017

ログを確認したところ、スタートアップ情報のみが表示されています。

デーモンが実行されていることも確認しました。実際に実行されています。--forkを使用して手動で実行してみました。

誰かこれに出くわしたことはありますか?または何か提案はありますか?

THX

更新:

再起動後-ここにログがあります:

** WARNING: You are running in OpenVZ. This is known to be broken!!!

Tue Feb  7 19:43:32 [initandlisten] db version v1.8.2, pdfile version 4.5
Tue Feb  7 19:43:32 [initandlisten] git version: nogitversion
Tue Feb  7 19:43:32 [initandlisten] build sys info: Linux allspice 2.6.24-28-se$
Tue Feb  7 19:43:32 [initandlisten] *** warning: spider monkey build without ut$
Tue Feb  7 19:43:32 [initandlisten] waiting for connections on port 27017
Tue Feb  7 19:43:32 [websvr] web admin interface listening on port 28017
21
Stuart.Sklinar

mongo 199.21.114.XXを実行して、IP(199.21.114.XX)を指定する必要があります。

それ以外の場合、ローカルホストでもリッスンしたい場合は、設定ファイルのbind_ip設定を削除する必要があります。

更新ファイアウォール設定を確認します。外部IPに接続しているため、ローカルボックスからでもブロックするように構成できます。

15
Eve Freeman

/etc/mongod.confファイルの次の行をコメント化することで、この問題を解決しました。

# Listen to local interface only. Comment out to listen on all interfaces. 
#bind_ip = 127.0.0.1

Mongodプロセスを再起動して、この構成変更に従う必要があります。

Sudo service mongod restart
25
Jeremy White
Sudo rm /var/lib/mongodb/mongod.lock
10
andyshi

ばかげたミスだけで同じ問題が発生しました。

最初に問題のないmongodbファイルを削除します

rm -rf /tmp/mongodb-27017.sock

/etc/mongod.conf内で間違ったところ

# network interfaces
net:
  port: 27017
 #bindIp: 127.0.0.1
bindIp: privateIp

の代わりに

net:
  port: 27017
  bindIp: 10.1.2.4

利用可能なすべてのIPを聞くため

bindIp: [127.0.0.1,10.128.0.2]

mongodbを再起動します

Sudo service mongod start

うまくいけば、この答えは誰かのために役立ちます

3
Gabber

デフォルトでは、mongo consoleコマンドを実行すると、ローカルホストでmongodbが検索されるため、127.0.0.1ローカルループバックであるIP。また、mongodのデフォルト設定がlocalhostで利用可能である必要があります。 authをオンにしていない限り、今のところこの方法で実行することをお勧めします。認証が有効になっているか、データベースがパブリックIPで公開されていることを確認してください。

Localhostまたはデフォルトの構成以外のホストに接続する場合は、次のようにします。

mongo <Host>
2
jdi

/etc/mongod.conf内

私が変更され、

bindIp: 127.0.0.1

bindIp: 0.0.0.0

これはすべてのポートです。ええ、私はそれが危険であることを知っていますが、私は内部ネットワークで実行しています。

ところでコメントアウト#bindIp: 127.0.0.1はUbuntu 18で動作していません。

1
reselbob

次の手順が役立つ場合があります。

  1. ターミナルを開いて「Sudo rm /var/lib/mongodb/mongod.lock」を実行します
  2. Sudo mongod --repair」を実行します
  3. 今 "Sudo start mongodb"
  4. mongodb status "Sudo status mongodbのステータスを確認してください

5最後に、コマンド "mongo"を呼び出します。

1
rahul sharma

別の方法は、mongodオプションparam bind_ipを追加することです

mongod -–help

--bind_ip argリスンするIPアドレスのカンマ区切りリスト-デフォルトではlocalhost

--bind_ip_allすべてのIPアドレスにバインド

mongod --fork --logpath /var/log/mongodb.log --dbpath /data/db --bind_ip 0.0.0.0
0
rakeshz