web-dev-qa-db-ja.com

Pymongoは27017で接続を拒否し続けます

私はpymongoへのシンプルな接続を実行しようとしていますが、接続が拒否されたことを返し続けます

ここに私が試したものがあります:

>>>from pymongo import Connection
>>>connection = Connection('localhost',27017)

ここに私が得るものがあります

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux i686.Egg/pymongo/connection.py", line 348, in __init__
 self.__find_node()
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux- i686.Egg/pymongo/connection.py", line 627, in __find_node
  raise AutoReconnect(', '.join(errors))
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111]     Connection refused

どうすれば修正できますか?

38
Ulmer

からmongod.lockを削除しています

/var/lib/mongodb
rm mongod.lock

そして、サービスを再起動するとそれが行われるはずです。たとえば、私のUbuntuインストールでは、サーバーを再起動すると次のようになります。

Sudo service mongodb start
42
Guille Polito

次のコマンドを指定された順序で試してください:

Sudo rm /var/lib/mongodb/mongod.lock

Sudo mongod --repair

Sudo service mongodb start

Sudo service mongodb status

これで、最後のコマンドの出力として次のように表示できます。

mongodb start/running, process 2796

11

ローカルホストではなくリモートサーバーでこの問題を抱えている人は、外部インターフェースを有効にしてみてください:

  • 構成ファイルに移動します(例:/etc/mongodb.conf)
  • Bind_ip = 127.0.0.1を見つけます
  • 先頭に#を付けてその行をコメントアウトします
  • Mongodを再起動する
8
Qaz

MongoDBサーバーを実行していないようです。頻繁に私をつまずかせることの1つは、サーバーが正常にシャットダウンされなかった場合、mongod.lockファイルをデータディレクトリから削除するまで、サーバーの再起動を拒否することです。

6
Rick Copeland

Mongod.lockを削除するのではなく、「mongod --repair」を実行することをお勧めします。 (可能な場合は、玄関を通って入る方が良いと考えています。また、これがキャッチする他のことがあるかもしれません。

2
ryepdx

次のコマンドを試してください:

Sudo service mongod start
Sudo service mongod status

db.py

import pymongo
from pymongo import MongoClient
#mongo client is connected
client = MongoClient()
db     = client['db']
1
Nija I Pillai