web-dev-qa-db-ja.com

mongo - サーバー127.0.0.1:27017に接続できませんでした

私はこのサービスが開始されること、または対話することに問題がなかったところで私はriakとredisから来ています。

これはmongoにとっての一般的な問題であり、どちらかといえばわかりません。再起動しても役に立ちません。私はmongoにとって初めてです。

mongo
MongoDB Shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/Shell/mongo.js:91
exception: connect failed

これは私がログで見るものです。

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov  9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov  9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov  9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov  9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov  9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn
122
Tampa

このエラーは、mongoシェルがmongodサーバーと通信できなかった場合に表示されます。

これは、アドレスが間違っていた(ホストまたはIP)か、それが実行されていなかったことが原因である可能性があります。注目すべき1つのことは、提供されるログトレースがあなたのmongo timestampの "Fri Nov 9 16:44:06"をカバーしていないことです。

あなたはできる:

  1. Mongodプロセスを起動するために使用されるコマンドライン引数(もしあれば)を提供します
  2. Mongoシェルの起動試行中のログだけでなく、mongod起動からのログファイルアクティビティも提供しますか?
  3. Mongodプロセスがmongoシェルと同じマシン上で起動されていることを確認しますか?
39
Jenna

通常、これはmongo Shellを起動する前にmongodプロセスを起動しなかったことが原因です。

Mongodサーバーを起動

mongod

別の端末ウィンドウを開く

Mongo Shellを起動する

mongo
231
Ravi Hamsa

解決しました。

この問題は下記の4つのステップによって解決することができます

1).lockファイルを削除します

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

2)mongodbを修理する

mongod –repair

3)mongodサーバーを起動します

Sudo service mongod start 

4)mongoクライアントを起動する

mongo

詳細については http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/ をご覧ください。

http://shakthydoss.com/technical/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

64
shakthydoss

この方法は、元のファイルを保存せずにデータファイルを修復したい場合にのみ機能します

Dbpathが存在する場所を見つけるには - vim /etc/mongodb.conf

オプションを確認してくださいdbpath =

(私はdbpath =/var/lib/mongodbを持っています)

デフォルト:/ data/db /

一般的な場所には、/ srv/mongodb、/ var/lib/mongodb、または/ opt/mongodbがあります。

/ var/lib/mongodbを自分のdbpathに置き換えます。

Sudo rm /var/lib/mongodb/mongod.lock
Sudo mongod --dbpath /var/lib/mongodb/ --repair
Sudo mongod --dbpath /var/lib/mongodb/ --journal

(あなたがあなたの端末を実行したままにしていることを確認してください、 'Ctrl + c'を押すか、それをやめてください。)mongoを今すぐ別のウィンドウで開始するために入力してください。

これがあなたのために働くことを願っています!元のファイルを維持しながらデータファイルを修復したいmongo recover

35
poorva

MAC OS

状況を確認する

brew services list

何かのようなもの:

Name    Status  User Plist
mongodb stopped  

始めよう

brew services start mongodb

もう一度やってみる

mongoまたはmongo --port 27017

11
William Hu

私の場合:

最初に設定ファイルを開きます

Sudo vi /etc/mongodb.conf

IPとPortをこのようにコメントする

#bind_ip = 127.0.0.1
#port = 27017

それからmongodbを再起動します

Sudo service mongodb restart
Sudo service mongod restart

最後に、それは仕事です:D

finn@Finn ~ $ mongo
MongoDB Shell version: 2.4.9
connecting to: test
> exit
11
Finn

あなたのMongoが起動していることを確認してください。私はmongodbを修復することを試みることによってこの問題を解決しました、そこで私はdbを実行するのに必要なディレクトリが作成されなかったことがわかりました。それはこのエラーを示しています

mongodと入力します。エラーが表示されます。

exception in initAndListen: 29 Data directory /data/db not found., terminating

Dbpath /data/db/(デフォルト設定)が存在しないためにエラーが発生します。あなたはデータフォルダを作成し、それに対する許可を設定する必要があります。

それから私はコマンドで私のシステムにフォルダを作成します

Sudo mkdir -p/data/db / and Sudo chown id -u/data/db

それから私は再びモンゴを走らせて、そしてそれはうまくいった。

答えを少し遅くするが、私は同じ問題に遭遇しました

以下は私を助けたステップです。

  1. C:\に行く
  2. "data"フォルダを作成
  3. 「data」内に「db」フォルダを作成します。
  4. ターミナルを開く(CMD) - >例: "c:\MongoDB\Server\3.4\bin"
  5. mongod =>と入力すると、mongoサーバーが起動します(開いたままにします)。

GUIを使って実行する、EX "robomongo"

または

新しい端末を開く(CMD) - >例: "c:\MongoDB\Server\3.4\bin"で "mongo"コマンドを入力

9
user8895024

上記の解決策がすべてうまくいかない場合は、service(start>search>services)に移動してmongodb serviceを起動します。次に、cmdプロンプトで、binに移動した後に:/>mongoと入力します。

4
Khalid

私はWindowsユーザーで、2018年11月にMongoDBをインストールしましたが、data/dbディレクトリを設定したくありませんでした。しかし、数日後、私が開いたとき、エラーメッセージが出ました:

MongoDB Shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
connect@src/mongo/Shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

それから私は上記の答えのすべてを使用して修正しようとしましたが、うまくいきませんでした。私がmongodを走らせようとしたとき、それは言った

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit Host=bla

ファイルシステムとcmdを使って(プログラムファイルへの)dbパスを変更しようとしましたが、うまくいきませんでした。

私のために働いた解決策は:

タスクマネージャctrl + shift + esc) - > サービスタブを開き、MongoDB行がありましたステータス停止にしました。それから私--- 右クリックして開始をクリックそしてすべてが完璧に動いている:)

4
Blasanka

モンゴとつながるには、まず「モンゴッド」サービスを開始する必要があります。あなたが見ることができる以下の出力:

$ mongod
2017-03-05T00:31:39.055+0530 I CONTROL  [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit Host=Prabhu-Nandans-Mac.local
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] db version v3.4.2
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] allocator: system
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] modules: none
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] build environment:
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     target_Arch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] options: {}
2017-03-05T00:31:39.056+0530 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2017-03-05T00:31:39.057+0530 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-03-05T00:31:39.057+0530 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2017-03-05T00:31:39.057+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-03-05T00:31:39.643+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-03-05T00:31:39.643+0530 I NETWORK  [thread1] waiting for connections on port 27017
2017-03-05T00:31:40.008+0530 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-03-05T00:32:03.832+0530 I NETWORK  [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open)
2017-03-05T00:32:03.833+0530 I NETWORK  [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } }
2017-03-05T00:32:08.376+0530 I -        [conn1] end connection 127.0.0.1:49806 (1 connection now open)

その後、別の端末を開いて「mongo」と入力してください。

あなたが見ることができる出力は次のとおりです。

$ mongo
MongoDB Shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2

あなたの問題は解決しました:)

3

次のコマンドで試すことができます:

Sudo service mongod start

私も同じ問題を抱えていて、それから私はこれらの2行のコードで修正されました。それが役に立てば幸い

systemctl start mongod
systemctl enable mongod
1

コンピュータにフォルダC:data/dbがまだ存在しない場合は作成します。 MongoDBを実行するには、このフォルダ構造 'data/db'が必要です。これが誰かに役立つことを願っています。

1
Amin Balogun

私による原因はスペースでした - コンソールでこれを実行してください:

df -h

より具体的には:

du -hs /var/lib/mongodb/ 

彼はディスクの使用状況を確認します。 99%以下の場合は、スペースを一掃してもう一度試してください。

1
tsveti_iko

@shakthydossの回答は1回はうまくいきましたが、2回目の発行後に.lockがなかったので、空白のものを作成したところ、うまくいきました。それで、あなたがそこにいないかどうか確認してください。

コマンドラインを使用している場合

cd /var/lib/mongodb

ls

"ls"はmongod.lockが存在しない場合、フォルダ内のすべてのファイルを一覧表示します。

Sudo touch mongod.lock

最後にcommandを実行してください。

mongod –-repair

Sudo service mongod start 

Mongoサービスはうまく機能しているはずです。

1
GAltelino

これは今日私と一緒に起こっていました、そして、私はそれを以下の方法で解決しました。

マシン:Windows 10マシンを使用していて、最新のMongoDB - Community Editionをダウンロードしました。

だから、問題は、私はC:\data\dbを作成していないということでした。

C:\data\dbを作成せずに、CMD端末を開き、端末でmongodコマンドを使用してデータベースを起動しました。

C:\ YourInstallationPath\bin> mongod

そしてmongoコマンドを実行したとき、私は問題を抱えていました。

ねじれ、私は必要なフォルダを作成しましたが、それでも問題を抱えていました。そしてこれは、mongoサーバーが既に稼働していたためです。それを修正するために、私は再びmongodコマンドを起動しました、そしてそれは自動的にC:\data\dbを参照しました。

他のユーザーはC:\data\dbを追加することを提案しましたが、再度mongodを実行することについては話しませんでした。これで私の問題は完全に解決しました。

1
Amnesh Goel

私はMacOSでBREWを使用してインストール後にmongodbを接続するために同じ問題を抱えていた。

問題はmongod.lockでもありましたが、それ以前はmongodb 3.6がインストールされ、データベースディレクトリは/usr/local/var/mongodbであり、古いファイルとmongod.lockがありました

シンプル私は古いデータベースファイルを別のフォルダに移動し、/usr/local/var/mongodbからすべてを削除しました

その後再起動しました。

brew services restart mongodb

そして、それは今うまく働いています。

1
Mandeep Gill

私にとってこれと同じエラーを解決するもう一つの解決策、これはあなたが仮想マシン経由でSSH接続経由でmongoに(ローカルに)アクセスしている場合に限り(少なくとも私の設定で)、Linux特有の環境変数の問題かもしれません:

export LC_ALL=C

また、私はSudoサービスを開始して、デーモンサービスとしてmongoを実行することに成功しました。これは設定ファイルではなくコマンドライン引数を使用するため、設定ファイルに問題がある可能性があります。

mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin
1
edencorbin

まず、c:\mongodb\bin>に行き、mongoがポート27017でリッスンしていることをコンソールに表示したら、それはOKです。そうでなければ、コンソールを閉じてフォルダーc:\data\dbを作成し、再びmongodを起動します

1
Monte Cristo

まず、mongod serverを起動し、その後別の端末でmongo Shellを起動する必要があります。

起動用、mongoサーバー

1。パスが---の場合デフォルトパス(data/db)単純解雇mongod端末内

2。あなたのパスがそうでない場合data/dbそしてあなたは以下のように命令します:mongod --dbpath 'ここにあなたのパスが来ます'

Mongo Shellを起動するために、単に他の端末でmongoを実行しました

あなたがこれを得たらポート27017での接続を待っているなら、あなたのMongoは正常に起動しました。

あなたは私のポイントを得ることができると思います

0
Naimish Kher

Windows OSでこの問題を解決する手順

  1. C:\ Program Files\MongoDB\Server\4.0\dataからmongod.lockファイルを削除します
  2. C:\ Program Files\MongoDB\Server\4.0\binのmongodをクリックしてください。
  3. MongoをクリックしてC:\ Program Files\MongoDB\Server\4.0\bin mongodbシェルを起動します
0
ashish naghate

brew(osx上)でインストールする場合、最初にmongodと入力してSudo mkdir /data/db start mondoDB Daemonを実行し(開いたままにします)、次に新しい端末タブでmongoと入力してmongoを実行します。

0
majid

Cドライブに「data」という名前のフォルダを作成し、dataフォルダの中に「db」という名前の別のフォルダを作成するだけです。それからmongod.exeを実行してください:)

0
Rohan pawar

私の場合、WindowsとUbuntuでは、ルートに/data/dbフォルダーを作成する必要がありました。 Ubuntuでは、1つの追加オプションが必要でした。ディレクトリのアクセス許可を付与します。

mkdir c:/data/db

ubuntu:

Sudo mkdir -p /data/db
Sudo chmod 700 /data/db

その後、実行します

Sudo service mongod start

チェック

Sudo service mongod status

そして、実行します

mongo

最後に、これは簡単な方法です。

ターミナルを開き、mongodbの場所に移動します。私の場合は

e:\mongodb\bin> 

次のコマンドを入力してEnterを押します。

mongod --config e:\mongodb\mongo.config

別の端末を開いてmongodbを起動してください。

mongo.exe

それは..モンゴを使用することができます

0
Santhosh Kumar

これは昔からの質問ですが、初心者として(Webstormを使用して)Mongo Explorer(ウィンドウの一番右側のタブ)をクリックする必要があると思います。そこから:

設定をクリックします。 - 参照ボタンをクリックします(「...」が付いたボタンのように見えます)。 - プログラムファイルに移動> MongoDB>サーバー> 3.4> bin> mongo.exe(あなたのバージョンはおそらく3.4と異なる) - その後、右側の緑色のプラス記号をクリックウィンドウが開きます - 「ラベル」スロットに名前を入力します。 - クリックして適用.

今すぐ接続する必要があります。端末に「mongod」と入力するだけでは不十分です。上記の手順も実行する必要があります。

Webstormを使用していないあなた方の方々に、私は前もって謝罪します。他のIDEを使用した手順についてはよくわかりません。

0
David Mitchell

AWS EC2でMongoに接続したときに同じエラーが発生しました。これが解決したものです https://serverfault.com/a/347159/62381 設定ファイルからbind_ipを削除してください

0
blueskin

これでうまくいく: -

Mongo 3.2 for windowでは、Mongodbサービスを起動する必要があります。そのため、Command Prompt as Administratorを実行してからネットスタートMongoDB

0
vineet

私は同じ問題を抱えていた、私はE:\ Mongo Data Files\db\mongod.lockファイルを削除したので、それは働き始めた。問題はサーバの不適切なシャットダウンが原因です。だからロックファイルはきれいではありません。

0
usernaveen

上記のすべての解決策がうまくいかない場合は、これが役立つ可能性があります。どこか下の方で、vagrant boxを介してあなたのローカルのmongodbデータベースに接続したかもしれません。

  1. vagrant upしてから、mongodbに接続したvagrantマシンにSSHします(vagrant ssh vagrant_box_name)。
  2. #を使用して/etc/mongod.confのbind_ip行をコメントアウトします(Sudo nano /etc/mongod.conf)
  3. mongodbデーモンサービスを再起動します(Sudo service mongod restart)。
0

Mongod.lockファイルを削除してください。そして "mongod -repair"を実行してください。 mongodサービスをアンインストール/再インストールすると問題が解決しました。

ありがとう。

0
Tun