127.0.0.1:27017への接続に失敗しました。理由:errno:111接続が拒否されました


81

ubuntuでこのmongoコマンドを試しているときに、このエラーが発生します。

    ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo
    MongoDB shell version: 2.6.1
    connecting to: test
    2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
    exception: connect failed

どうすればこれを修正できますか?誰もが同じ問題を抱えていました。


6
mongodサーバーが実行されていない場合はmongod、ターミナルで入力して起動します。
ラビ

2
あなたのmongodは127.0.0.1で実行されていませんこの「mongo
hostlocalhost

1
みんなありがとうmongoを実行してみましたが、最終的には実行されませんでした。ハードディスクにスペースがないことがわかりました。スペースの一部を空にして、mongodbdocsに記載されているインストール手順と同じインストール手順で最終的にサーバーを再起動しました。そしてそれは実行されています。docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu
Ashish Ranjan

4
(コメントを投稿するのではなく)自分の質問に答えることができます。解決策はより目に見えるようになり、他の人を助けるでしょう
mihai 2014年

回答:


98

次のコマンドを実行します。

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

MongoDB errno111への接続が拒否されました

マックOS:

rm /usr/local/var/mongodb/mongod.lock  
sudo service mongod restart

Ubuntuの場合:mongodbの代わりにmongod
Blacksonic

6
UbuntuでJob for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
sudoservice

4
何もありませんmongodb/var/lib/
RegarBoy

1
mongod代わりに実行
Iman Mohamadi 2016

Ubuntu Server 16.04.1 LTSで完璧に実行
Cami Rodriguez

29

MacOSでも同じ問題が発生しましたsudomongodを実行してみて、新しいターミナルタブでmongoを実行してください


mongoもsudoで走らなければなり
ませんでした

22

みんなありがとうmongoを実行しようとしましたが、最終的には実行されませんでした。ハードディスクにスペースがないことがわかりました。スペースの一部を空にして、mongodbdocsに記載されているインストール手順と同じインストール手順で最終的にサーバーを再起動しました。そしてそれは実行されています。

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu


なぜ再インストールされるのかわかりません。不要なファイルを削除してスペースを解放するのに十分だと思います。スペースがないためにmongodサービスが強制終了される可能性があるため、mongodサービスを再起動することをお勧めします。再インストールする特別な理由はありますか?
Siva S

18

私の場合、エラーは、mongodbがデータの保存に使用する/ data / dbフォルダーが見つからないことが原因でした。$sudo mongod ターミナルでこのコマンドを入力してください。エラーメッセージが次のような場合:

missing data/db folder error

フォルダを作成するだけで、準備完了です。


自動的に作成されないのは奇妙です。
basickarl 2016

ルートフォルダにdirectroydata / dbを作成し、正常に動作するようになりました。
vidurpunj18年

注:フォルダーへのアクセス許可も付与することを忘れないでください。mkdir /data/dbそしてchmod 777 /data/db
AndreFeijo


9

おそらく、ハードドライブに空き容量がありません。promtを入力して確認してください df -h

対応するパーティションで3GBが使用可能であっても、mongoが失敗する可能性があることに注意してください。詳細については、ログを確認することをお勧めします。cat /var/log/mongodb/mongod.log


「mongodb.log」にはタイプミスがあり、「mongod.log」と表記されています。編集しようとしましたが、stackoverflowで少なくとも6文字を編集する必要があると言われました。悪い考えimoSO。
ロバートブラッコ

8

Macでも同じ問題が発生し、自作でmongodbをインストールしました。私は自作サービスコマンドでこの問題を解決します

最初にmongodbサービスを開始します。

$ brew services start mongodb

mongodbターミナルを起動します

$ mongo

mongodbサービスを停止します:

$ brew services stop mongodb


7

コンソールに接続する前に、MongoDBのサービスを実行していることを確認してください。

サーバーを実行して起動します。

$ sudo mongod

その後:

$ mongo
...
>

5

これを行う:

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

あなたがUbuntu16.04を使用している場合、これはrunnignによって理解できます:

lsb_release -a

/lib/systemd/system/mongod.service次の内容で新しいファイルを作成する必要があります。

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

4

私の場合、この問題は、mongodb.lockファイルに対する許可が明らかに失われたことが原因で発生しました。次のコマンドで権限を変更する問題を解決できます:

sudo chown mongodb:mongodb /var/lib/mongodb/mongodb.lock

私の調査は次のとおりです。 ステップバイステップの検証


4

ディスク容量の問題を除いて、ログインをチェック/var/log/mongodbして、mongodbの起動が失敗した理由の詳細を確認する必要があると思います。

cat /var/log/mongodb/mongod.log

2016-06-26T15:26:26.642+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] MongoDB starting : pid=8130 port=27017 dbpath=/var/lib/mongodb 64-bit host=hadoop-master
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] db version v3.2.7
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] modules: none
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] build environment:
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distarch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.3.10", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-06-26T15:26:26.678+0800 E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-06-26T15:26:26.678+0800 I -        [initandlisten] Fatal Assertion 28578
2016-06-26T15:26:26.678+0800 I -        [initandlisten] 

***aborting after fassert() failure

したがって、ここでは、内のすべてのファイルをrmする必要があります/tmp。それは私にとってはうまくいきます。



3

私の場合、bind_ipは/etc/mongodb.confファイルの127.0.0.1ではなかったので、bind_ipを127.0.0.1に変更します(コンマ区切りの値である可能性があるため、127.0.0.1がその1つであることを確認してください)。次に、システムを再起動して有効にします。直面している人だけに再起動します

$sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.

3

mongo v3.6.3 +(または2019バージョン)の場合

rm /var/lib/mongodb/mongod.lock
service mongodb restart

1

非常に簡単で、ファイルを削除するだけです/var/lib/mongodb/mongodb.lock。実行後のみ:mongo。終了しました


1

で指定されたmongoのデータディレクトリが/etc/mongod.conf有効なパスではない可能性があります。

パスが実際に存在する場合はパスを再sudo vi /etc/mongod.conf確認して、確認してくださいdbPath


1

私はあなたと同じエラーがあります、これは私の場合です:

~# mongod
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-07-15T05:27:08.301+0000 I JOURNAL  [durability] Durability thread started
2018-07-15T05:27:08.301+0000 I JOURNAL  [journal writer] Journal writer thread started
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] MongoDB starting : pid=26796 port=27017 dbpath=/data/db 64-bit host=ubuntu-s-2vcpu-4gb-sfo2-01
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] db version v3.0.6
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] build info: Linux build6.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] options: {}
2018-07-15T05:27:08.308+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

サーバーを起動するためにmongodと入力し、control+と入力しますcし、シェルにします

それから私はタイプしmongo、私は得た

~# mongo
MongoDB shell version: 3.0.6
connecting to: test
2018-07-15T05:05:02.738+0000 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-07-15T05:05:02.739+0000 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
    at connect (src/mongo/shell/mongo.js:179:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:179

ご覧のとおり、私のエラー情報はあなたと同じです。

これは、mongodを入力したときに、mongodがバックエンドプロセスで開始されない場合ですcontrol+ cmongodを終了します。

--fork argsを追加して、プロセスデーモンをプロセスにすることができます。

#  mongod --logpath /usr/local/mongodb/log.txt --fork

--forkを使用する場合は、-logpathを設定する必要があります

その後、mongoへの接続に成功します


1

この簡単な手順に従ってください。(MAC OSでも動作します)

  1. ターミナルを開いて実行します sudo mongod

  2. 新しいターミナルタブを開き(ステップ1タブを閉じないでください)、実行します sudo mongo

それで全部です


0

Mongo3。*。*-OSX-2017

READMEから

RUNNING

ディレクトリをmongodb-osx-x86_64-3。*。* / binに変更します

単一サーバーデータベースを実行するには:

$ mkdir /data/db
$ ./mongod

新しいターミナルに行く

$ # The mongo javascript shell connects to localhost and test database 
$ # by default -Run the following command in new terminal
$ ./mongo 
> help

なぜ反対票を投じるのですか?これはあなたがそれをするべき方法ですか?? !!
ミナガブリエル

0

コマンドのsudo mongo後にmongod入力するだけで解決しました。



0

私の場合についてのいくつかの考え。

dbPathおよびlogPathディレクトリをカスタム値(たとえば/ data / mongodb / data、/ data / mongodb / log)に変更した場合は、それらをmongodbユーザーにchownする必要があります。変更しない場合は、存在しない/ data / db / dirに変更します。使用されます。

sudo chown -R mongodb:mongodb /data/mongodb/

sudo service mongod restart

0

最新のMongoDBv 3.6.5+のmongod.confファイルに変更があります。

mac os High Sierra v10.12.3でこの問題を修正した方法は次のとおりです。

注:自作を使用してMongoDBをインストール/アップグレードしたことを前提としています

mongo --version

MongoDB shell version v3.6.5 
git version: a20ecd3e3a174162052ff99913bc2ca9a839d618 
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018 
allocator: system modules: none build environment:
distarch: x86_64
target_arch: x86_64
  1. mongod.confファイルを探す

     sudo find / -name mongod.conf` 
    

    /usr/local/etc/mongod.conf>最初の結果。

  2. mongod.confファイルを開く

    sudo vi /usr/local/etc/mongod.conf
    
  3. net:セクションでリモートアクセス用にファイルを編集します

     port: 27017  
     bindIpAll: true 
     #bindIp: 127.0.0.1 // comment this out
    
  4. mongodbを再起動します

    brewを使用してインストールした場合

    brew services stop mongodb
    
    brew services start mongodb
    

それ以外の場合は、プロセスを強制終了します。

   sudo kill -9 <procssID>

1
この答えを読んでいる人へ:注意!私が間違っていない限り、コメントアウトすると、bindIp認証が有効になっていない限り、データベースがオープンインターネットに公開されます(デフォルトでは有効になっていません)。

0

データベースへの接続に問題がありました。いくつかの理由が考えられます。私の場合、サーバーマシンのディスク容量が少ないため、mongoが接続しようとすると、ディスクが少ないために拒否されます。du -shストレージ容量が少ない場合は、サーバーマシンのローカルストレージを確認し、ログサイズを確認して、それに応じて手順を実行してください。問題が発生する可能性があります。 dbpathが矛盾し/etc/mongod.conf、サーバーが実際にdbpathを実行しているために存在します。mongod このようなタイプの問題に直面している場合は、以下のリンクで私の答えを確認してください。 https://stackoverflow.com/a/53057695/8247133


0

同じ問題に直面したので、mongodbフォルダーがあるかどうかを確認し、最初にそのフォルダーを削除してみてください

rm -rf /var/lib/mongodb/*

今度はmongoを起動してみてください。同じ問題が発生した場合は、mongoを起動できないmongodbロックファイルがあります。mongoロックファイルを削除してください。

rm /var/lib/mongodb/mongod.lock

力強く rm -rf /var/lib/mongodb/mongod.lock

すでにsudoモードになっている場合はservicemongodbを再起動し、それ以外の場合は次のように使用する必要があります sudo service mongod start

または、forkメソッドを使用してサーバーを起動できます

mongod --fork --config /etc/mongod.conf

同じものを見るには、フォークされていますか?以下のコマンドを使用して確認してください

ps aux | grep mongo

0

Windowsをお持ちの方へ。私はWindowsでも同じ問題を抱えていました。Mongodbサービスを再起動すると、これが解決します。

Windowsで再起動する手順は次のとおりです。

私)。Windowsの「サービス」に移動します。

ii)。サービスのリストで「MongoDB」を検索します。

iii)。ステータスに応じて「開始」/「再起動」を右クリックします。

iv)。ステータスが「実行中」に変わったら、「Mongo」を実行するか、Mongoクライアントに接続して問題が解決したかどうかを確認します。


0

macOS回答の多く既にに従って古いされている公式ドキュメント。どういうわけかbrew変更され、インストール方法はMongoDB、最初にmacOS(必要ではないかもしれませんが)からアンインストールしてから、次の手順を使用してインストールします。

  1. brew tap mongodb/brew
  2. brew install mongodb-community@4.4
  3. brew services start mongodb-community@4.4

その4.4部分に気をつけてください、それは変わるでしょう。将来それが壊れた場合は、公式ドキュメントを参照して、リンクされたチュートリアルで提案されているバージョンをインストールしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.