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


163

私はこのサービスの開始ややり取りに問題がなかった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

2
IMOはプログラミング自体とは関係がないので、serverfault.comでこの質問をすることをお勧めします。
Cimnine

2
私も同じ問題に直面していました。そのcus mongo C:/ data / dbにフォルダを作成できません。私はこれに従いましたmkyong.com/mongodb/how-to-install-mongodb-on-windows
STEEL

会社のラップトップを使用してC:にMongoDBをインストールするときにも、同じエラーが発生しました。管理特権と、C:に何かをインストールしたり変更したりするたびに、管理者のユーザー名とパスワードの入力を求められるため、mongodbを動作させることができませんでした。D:にインストールした後、すべて正常に動作しました。
パランザ2016年

回答:


47

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

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

あなたはできる:

  1. mongodプロセスの開始に使用するコマンドライン引数(ある場合)を指定します
  2. mongod起動時のログファイルアクティビティと、mongoシェル起動時のログを提供しますか?
  3. mongodプロセスがmongoシェルと同じマシンで起動されていることを確認しますか?

281

通常、これは、mongoシェルを開始する前にmongodプロセスを開始しなかったために発生しました。

mongodサーバーを起動します

mongod

別のターミナルウィンドウを開く

mongoシェルを起動します

mongo

3
このケースはうまくいきました、私は〜> sudo mongod --dbpath / dbpathlocationを実行し、mongoを実行するために新しいターミナルを開く必要がありました...
Saji

5
macOS Sierraで私にsudo mongodmongo
有効

mongodを実行する前に/ data / dbディレクトリを作成する必要がありました
大学生

実行mongodする前にバックグラウンドまたは別のシェルで実行するだけでよいとは思えませんmongo。叫ぶラヴィ・ハムサ!。
カリームJeiroudi

魅力のように私のために働いた!
Sobhit Sharma

86

解決しました。

この問題は、下記の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/


4
/var/lib/mongodb/mongod.lockとは何ですか?何が問題でしたか?
ozn 2018年

Ubuntu 18.04のアイテム2はmongod --repair
Aline Matos

43

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

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


1
ubuntuに取り組みます。-ジャーナルは私の問題を修正しました。本当にそれは何をしますか?-ジャーナルの目的は何ですか?
grep

fedora 20で動作しました。最初のターミナルウィンドウを閉じることができますか?
Khayam Gondal 2014

26

マックOS

ステータスを確認する

brew services list

何かのようなもの:

Name    Status  User Plist
mongodb stopped  

始めよう

brew services start mongodb

もう一度やってみる

mongo または mongo --port 27017


1
これは+1に役立ちました。
Sandeep

私のために働いていませんでした。私はこのMongoDBの処理に1時間苦労しています。ワオ!!!
グレン

これは私を助けてくれて、ありがとう..
Iam ByeBlogs

15

私の場合:

まず設定ファイルを開きます

sudo vi /etc/mongodb.conf

このようにコメントIPとポート

#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

ip / portを削除してもうまくいきませんでした。それは実際にサーバーをさらに壊しました。サービスは再開を拒否しました...
Cerin

1
bind_ipには注意してください。これをコメントアウトすると、データベースへのリモート接続が許可されます。セキュリティと認証の設定がない限り、これは明らかにひどい考えです。MongoDBにはデフォルトでユーザーやパスワードがないので、注意する必要があります。
agm1984

私のためにも働きますが、@ agm1984のコメントの後でセキュリティについて知らないので、これを開発モードで使用します。Mongodbのアトラスクラウドを使用した後、私の場合はより安全です(貧弱なサーバーの場合)スキル:D)
エイドリアンV

1
@AdrienV確かに、ローカルIPバインディングを削除すると、インターネットからアクセスできるようになるため、危険です。これは、開発サーバーの単なる回避策です。
Finn

bind_ipは追加の不明なIPに設定されました。削除すると/ db / dataエラーが解決されました... ufff
zevero

14

mongoが実行されていることを確認してください。mongodbを修復しようとしてこの問題を修正しましたが、dbの実行に必要なディレクトリが作成されていないことがわかりました。このエラーが表示されます

タイプ:mongod、エラーが表示されます

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

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

次に、コマンドでシステムにフォルダを作成します

sudo mkdir -p / data / db / および sudo chown id -u/ data / db

その後、私は再びモンゴを実行し、それはうまくいきました。


14

少し遅れて答えがありますが、同じ問題が発生しました

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

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

GUIを使用して実行、EX「robomongo」

または

新しいターミナル(CMD)を開く-> EXに移動: " c:\MongoDB\Server\3.4\bin" "mongo"コマンドを入力


12

私はWindowsユーザーで、MongoDBを2018年11月にインストールしましたが、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行がありました。それから私は右クリックしてスタートをクリックし、すべてが完全に機能しました:)


6

上記のすべてのソリューションが機能しない場合:サービス(start>search>services)に移動し、mongodbサービスを開始します。次に、cmdプロンプトで、binに移動した後、次のように入力します。:/>mongo


5

mongoに接続するには、最初に「mongod」サービスを開始する必要があります。あなたが見ることができる次の出力:

$ 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 mongodb stop 

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

sudo mongod --repair --dbpath /var/lib/mongodb 

sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb 

sudo service mongodb start

これはうまくいった!しかし、それは一時的なものであり、システムを再起動したときに再び実行されませんでした
Predator X


2

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

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

それで、問題は、私がC:\data\db作成しなかったということでした。

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

C:\ YourInstallationPath \ bin> mongod

そして、私がmongoコマンドを発射したとき、私は問題を得ていました。

ツイスト、必要なフォルダーを作成しましたが、まだ問題が発生していました。これは、mongoサーバーが既に実行されていたためです。それを修正するために、mongodコマンドを再度起動し、自動的にを参照しましたC:\data\db

他のユーザーが追加を提案しましたC:\data\dbmongod、再度実行することについては話しませんでした。


2

macOSでbrewを使用してインストールした後、mongodbを接続するのと同じ問題がありました。

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

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

次に再起動しました:

brew services restart mongodb

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


2

私の場合、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

2

私はubuntuでこのエラーを受け取りましたが、次のコマンドで試すことができます:

sudo service mongod start

1

私と同じエラーを解決した別の解決策ですが、これは仮想マシン経由でSSH接続を介して(ローカルで)mongoにアクセスしている場合にのみ発生する可能性があり(少なくとも私の設定です)、Linux固有の環境変数の問題である可能性があります。

export LC_ALL=C

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

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

1

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


1

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

df -h

より具体的には:

du -hs /var/lib/mongodb/ 

ディスクの使用状況を確認します。約99%の場合-スペースをクリーンアップして、再試行してください。


1

最初に、c:\mongodb\bin>mongoDBをオンにするために移動します。コンソールでmongoがポート27017でリッスンしているのを確認したら、問題ありません。そうでない場合は、コンソールを閉じてフォルダーc:\data\dbを作成し、mongodを再起動します


1

上記のすべての解決策がうまくいかない場合は、おそらくこれが役立つでしょう。どこかで、迷惑なボックスを介してローカルの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サービスmongod restart)を再起動してください...

1

を使用してmonogdbサービスを開始します

sudo service mongod start 

次に、新しいウィンドウまたはターミナルから、mongoクライアントを使用して起動します

mongo

0

mongod.lockファイルを削除します。そして「mongod -repair」を実行します。mongodサービスをアンインストール/再インストールすると、この問題が修正されました。

ありがとう。



0

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

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

e:\mongodb\bin> 

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

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

別のターミナルを開き、mongodbを使用して起動します

mongo.exe

それだけです。mongoを使用できます


0

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

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

これで接続されました。ターミナルで「mongod」を入力するだけでは不十分です。上記の手順も実行する必要があります。

Webstormを使用していない皆さん、事前にお詫び申し上げます。他のIDEを使用する手順については不明です。


0

brew(osx上)でインストールする場合は、まずsudo mkdir /data/db start mondoDB Daemonを入力してmongod(開いたまま)、次にmongo新しいターミナルタブを入力してmongoを実行します。


0

Cドライブに「data」という名前のフォルダを作成し、dataフォルダ内に「db」という名前の別のフォルダを作成するだけです。次に、mongod.exeを実行します。


質問者はWindowsを持っている、またはMongoDBのインストールに失敗したと思いますか?
Nemo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.