私は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
どうすれば修正できますか?
からmongod.lock
を削除しています
/var/lib/mongodb
rm mongod.lock
そして、サービスを再起動するとそれが行われるはずです。たとえば、私のUbuntuインストールでは、サーバーを再起動すると次のようになります。
Sudo service mongodb start
次のコマンドを指定された順序で試してください:
Sudo rm /var/lib/mongodb/mongod.lock
Sudo mongod --repair
Sudo service mongodb start
Sudo service mongodb status
これで、最後のコマンドの出力として次のように表示できます。
mongodb start/running, process 2796
ローカルホストではなくリモートサーバーでこの問題を抱えている人は、外部インターフェースを有効にしてみてください:
MongoDBサーバーを実行していないようです。頻繁に私をつまずかせることの1つは、サーバーが正常にシャットダウンされなかった場合、mongod.lockファイルをデータディレクトリから削除するまで、サーバーの再起動を拒否することです。
Mongod.lockを削除するのではなく、「mongod --repair」を実行することをお勧めします。 (可能な場合は、玄関を通って入る方が良いと考えています。また、これがキャッチする他のことがあるかもしれません。
次のコマンドを試してください:
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']