178

次のエラーが発生します。

alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$ 

これは、mongodbを起動しようとするとどうなるかです。

* Starting database mongodb                                             [fail]

私はすでに試しましたmongo --repair

chownとchmodをvar、lib、data / dbに作成し、 mongodbをログに記録しました。

他に何をすべきかわからない。助言がありますか?

mongodb.log:

***** SERVER RESTARTED *****


Thu Oct 11 08:29:40 
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40 
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten] 
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten] 
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
************** 
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit: 
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now

編集:

ロックを解除してからmongodの修復を行ったところ、次のエラーが発生しました。

Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

だから私はsudoでそれをしました:

alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42 
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42 
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten] 
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten] 
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit: 
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now

しかし、それでも同じ問題があります。

4

37 に答える 37

165
Step 1: Remove lock file.
sudo rm /var/lib/mongodb/mongod.lock

Step 2: Repair mongodb. 
sudo mongod --repair 

Step 3: start mongodb.
sudo start mongodb 
or
sudo service mongodb start

Step 4: Check status of mongodb.
sudo status mongodb 
or   
sudo service mongodb status

Step 5: Start mongo console.
mongo 
于 2013-07-22T17:36:15.587 に答える
90

走るmongod前に走りましたmongoか?

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/からmongodbのインストール手順に従いましたが、mongo実際にmongoプロセスを実行する前に実行した場合にのみ、同じエラーが発生しました。mongod。mongodbをインストールすると起動することもあると思いましたが、mongodbを必要とするmongod他の処理を行う前に、手動で起動する必要があります。

于 2013-06-20T18:08:51.237 に答える
83

これは、mongodプロセスがダウンしているためです。mongodプロセスを起動するには、次のコマンドを実行する必要があります。

~$ 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

これがお役に立てば幸いです。

于 2016-01-17T06:35:27.200 に答える
40

ログは、古いロックファイルがあるためにmongodbが終了していることを示しています。

ジャーナリングを実行していない場合は、ロックファイルを削除し、修復を実行して、mongodbを再起動します。

ジャーナリングをオンにして実行している、または実行していた場合は、関連するMongoDBドキュメントを参照してください。「ジャーナリングを実行している場合は、一貫性のある状態に回復するために修復を行うべきではない」と言われていることに注意してください。したがって、ジャーナルを作成している場合、修復によって状況が悪化した可能性があります。

于 2012-10-11T03:54:20.040 に答える
13

試す

sudo service mongodb start

これで私の問題は解決しました。

于 2013-07-04T07:16:31.380 に答える
10

マックOS

Macを使用していて、mongodb4.4を使用している場合は、次を実行できます。

brew services start mongodb-community@4.4
于 2020-10-06T21:19:45.173 に答える
8

ファイルシステムの空き容量を確認し、空き容量が少ない場合は増やしてください。これにより、mongoが起動しない可能性もあります。/var/log/mongodb/mongodb.logファイルを確認してください。

ERROR: Insufficient free space for journal files
Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
于 2014-07-14T07:10:32.190 に答える
7

mongod前に実行してみてくださいmongo

sudo /usr/sbin/mongod私のopensuseで

これで私の問題は解決しました、

于 2014-09-09T12:02:33.357 に答える
7

したがって、最初に以下のコマンドでmongod.lockファイルを削除する必要があります

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

次に、以下のコマンドを発行して、mongoサービスを再起動します

sudo service mongod restart 
于 2016-02-01T06:40:39.577 に答える
5

Windowsでcmd管理者として実行します。

1.ディレクトリの作成:

mkdir c:\mongo\data\db

2.サービスのインストール:

mongod.exe --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --dbpath c:\mongo\data\db --directoryperdb

3.MongoDBを起動します。

net start MongoDB

4.Mongo Shellを起動します:

c:\mongo\bin\mongo.exe

この解決策は私のために働いた。

于 2017-07-22T02:33:22.497 に答える
4

netstat -anp | grep 27017ポートが別のプロセスで使用されているかどうかを確認できます。

于 2012-10-11T04:00:08.760 に答える
4

今後の参考のために、同様のエラーを回避するために次の手順に従ってください。

1.MondoDBhttps ://www.mongodb.com/をダウンロードします

2.ターミナルを開き、ダウンロードフォルダーまたはmondoddbダウンロードを保存したフォルダーにcdします(cdする前にmongodbフォルダーを抽出してください)。

cd Downloads

3.mongodbをusr/localパスに移動します

sudo mv mongodb-osx-... /usr/local/mongodb

4.ローカルフォルダにcdします

cd /usr/local/mongodb

5.新しいディレクトリを作成します

sudo mkdir -p /data/db

6.上記で作成した新しいディレクトリにcdします

cd /data/db

7.モンゴの許可を与える

sudo chown YourMacUserName /data/db

8.次に、.bash_profileに移動/開きます

これを行うには、次の手順に従います。

あなたの新しいターミナルで

123cd _.pwd ls -l

.bash_profileが端末のファイルリストに表示されているかどうかを確認します

そうでない場合は、-bash_profileを作成します

.bash_profileの作成:

あなたのターミナルで

.bash_profileをタッチします

//すでに.bash_profileがある場合は、この手順をスキップします

ステップ8:

のターミナル:

open .bash_profile

そして、開いたbashファイルに以下を追加します。

MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

次に保存します。(ファイル保存またはコマンドS / CMD + S)

ステップ9:ターミナルに戻る:

source .bash_profile

次に、2つのターミナルを開きます。1つはモンドデーモン用で、もう1つはモンゴ用です。

ターミナル1: ターミナルタイプ:mongod

mongodb

出力: Mongodターミナル

ターミナル2:

mongo

出力: Mongoターミナル

また、ターミナルでmongodを起動するときに、次のタイプミスをしないように注意してください。 これは正しくありません。

mongo d

次のエラーが発生します:127.0.0.1 : 27017への接続に失敗しました、in(ポーリング後にソケットのエラーをチェックしています)、理由:接続が拒否されました

正解です:

mongod

(mongoとd..mondodという単語の間にスペースがあってはなりません

最後に、端末でmongoを実行する前に、mondodを実行する必要があることを常に念頭に置いてください。

于 2018-04-05T12:29:05.943 に答える
4

初挑戦:

sudo service mongod restart 

エラーが発生した場合:アクティブ:失敗(結果:終了コード)Mon 2021-03-29 19:59:07 WEST; 3秒

これは、/ var / lib/mongodbと/tmp/mongodb-27017.lockの権限設定が間違っているために発生する可能性があります。所有者をmonogdbユーザーに変更する必要があります

試す:

chown -R mongodb:mongodb /var/lib/mongodb
chown mongodb:mongodb /tmp/mongodb-27017.sock

sudo service mongod restart
于 2021-03-29T19:10:58.963 に答える
3

これは私のために働いた:

sudo rm /var/lib/mongodb/mongod.lock    
sudo service mongodb restart
于 2014-12-26T07:51:02.953 に答える
3

ターミナルでこれらのコマンドを実行します

1)

$ sudo service mongod start

2)

 $ mongo
于 2019-03-06T11:52:38.767 に答える
2

何度も試みた後、ようやく問題のトラブルシューティングを行うことができました...

Step 1: ps aux | grep mongo
Step 2: sudo rm /var/lib/mongodb/mongod.lock
Step 3: sudo mongod --repair
Step 4: mongo
于 2015-04-20T15:13:39.860 に答える
2

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/のドキュメントをフォローしました。

設定して再起動した後、実行sudo service mongod startして取得しまし... [FAILED]た。

ついに、それmongodが始まったことがわかりました。yum installオートスタートに追加したと思います。

が実行されているかどうかを確認するにmongodは:service mongod status

これが誰かが同じ問題を抱えているのを助けることができることを願っています。

于 2015-06-23T09:18:16.970 に答える
2

このエラーは、MongoDBのバインドIP設定が原因である可能性があります。MongoDBの設定ファイルは次の方法で確認できます

$ sudo vi /etc/mongodb.conf

私の場合、バインドIPは、次のようにサーバーのイントラネットアドレスに設定されます。

bind_ip = 10.10.1.14 
#port = 27017

だから私はmongoにタイプごとにシェルに接続するためのIPパラメータを与えました:

$ mongo 10.10.1.14

構成を変更した場合は、mongodbサービスを再起動することを忘れないでください。

于 2016-01-28T19:53:26.050 に答える
2

私はmongoバージョン3.2.1を使用しており、ロックファイルを削除する必要がありました。/data/db/その後、実行mongodすると正常に起動しました。

>rm /data/db/mongod.lock
>mongod
于 2016-02-13T14:57:41.867 に答える
1

Windows OSのデータディレクトリ内にあるmongod.lockを削除した後も、同じエラーメッセージが表示されていました。mongoコマンドをエラーなしで実行するには、-dbpathを指定してmongodを実行する必要がありました。

于 2015-09-08T11:40:15.060 に答える
1

回答はありますが、でネットワークエラーについて話し合いたいと思いMongoDBます。

ネットワークエラーMongoDB

安全な書き込みの懸念を設定することは、私たちが安全であることを確認するための完全な証明方法ではありません。w=1&が設定されていると仮定してj=true、書き込み確認応答がサーバーから受信されなかった場合はどうなりますか?まあ、それは起こらなかった可能性が高いですが、起こったかもしれません。これが発生した可能性がある理由は、ネットワークエラーがあるためです。肯定的な応答を受け取れない理由があります。そのため、選択した言語のドライバーを介してアプリケーションからリクエストを送信できます。mongod正常に完了することができ、TCPリセットが発生する可能性があります。実際、ネットワークは、応答を受け取らない方法でリセットされる可能性があります。したがって、エラーが発生する可能性があり、そのエラーについては、エラーが発生したと見なす可能性があります。それは起こりませんでしたが、起こるかもしれません。

インサートの場合、それを防ぐことができます。ドライバーにを作成させて_id挿入を実行すると、その挿入を複数回実行する可能性があり、害が生じる可能性があります。これを初めて実行してエラーが発生し、ネットワークエラーであるためにその挿入が完了したかどうかわからない場合は、もう一度実行できます。そして、もう一度実行する場合は、正確に実行するためにtyrします_id。最悪のシナリオは、挿入しようとすると重複キーエラーが発生することです。

ただし、更新は問題が発生する場所です。特に、アイテムに強力ではないアップデート、たとえば$inkコマンドが含まれているアップデート。したがって、特定のフィールドをインクリメントするようにデータベースに指示しています。その場合、ネットワークエラーが発生し、更新が行われたかどうかがわかりません。これで、更新が行われたことを確認できる値について十分に知っているかもしれませんが、これは問題ありません。ただし、そのフィールドのデータベースの開始値がわからない場合、ネットワークエラーの場合に発生したかどうかを知ることはできません。この種の問題は、優れたネットワークでは非常にまれです。

そして、どうしても回避する必要がある場合は、データベースからドキュメントの値全体を読み取り、削除して再度挿入するか、単に挿入することで、すべての更新を挿入に有効にする必要があります。新しいもの。

書き込みが成功した場合でも、アプリケーションがエラーを受け取る可能性がある理由:

  • サーバーが書き込みを受信した後、応答を送信する前に、アプリケーションとサーバー間のネットワークTCP接続がリセットされました。
  • MongoDBサーバーは、書き込みを受信して​​から応答するまでの間に終了します。
  • 書き込み時からクライアントが書き込みへの応答を受信する時までの間にネットワークに障害が発生します。
于 2016-09-24T14:12:55.107 に答える
1

これは私のために機能しますmongodbの使用を停止するには:

use admin
db.shutdownServer()

そして再起動するには:

sudo service mongod restart
于 2018-12-15T03:51:41.567 に答える
0

環境変数のPATHにビンを追加すると役に立ちました。

GOTOのインストールパスと../binをWindowsの環境変数のPATH変数にコピーします

于 2017-03-27T06:59:44.600 に答える
0

windows + r と入力し、次のように入力します

services.msc

MongoDBを起動します

ここで、mongo.exeが存在するそれぞれのパスのcmdに「mongo」と入力すると、動作を開始します。

于 2017-10-09T17:20:33.297 に答える
0

1. dドライブD:/ data/dbに新しいフォルダを作成します

2. D:/ data/dbでターミナルを開きます

3. mongodと入力して、入力します。

4.mongoと入力して入力します。

そしてあなたのmongodbは成層しました...........。

于 2018-07-19T06:24:54.720 に答える
0

mongod --repairから実行するだけC:\Program Files\MongoDB\Server\4.0\bin

これがドキュメントhttps://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/です

于 2018-09-19T13:31:05.153 に答える
0

シンプルなRunTwoが表彰

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair 
于 2019-12-03T06:53:37.970 に答える
0

同様のエラーが発生しましたが、根本的な原因が異なります。自作を使用してmongodbをインストールした後。 https://docs.mongodb.com/manual/installation/ ターミナルで「mongo」コマンドを実行する前に「mongod」サービスを開始する必要があります。

于 2020-01-12T07:54:19.513 に答える
0

OS Xシステムを使用している場合、serviceコマンドはありません。したがって、実行することはできませんsudo service mongod start

詳細については、この回答https://unix.stackexchange.com/a/155746を確認してください。

于 2020-03-25T11:13:01.520 に答える
0

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

これは、WINDOWSユーザーがここにコードを入力するためのソリューションです。1。ディレクトリを作成します。

mkdir c:\mongo\data\db
  1. サービスのインストール:最初に、CDを使用してMongoDBのプログラムファイルのbinディレクトリに移動します

mongod.exe --install --logpath

  1. MongoDBを起動します。

    net start MongoDB

4.Mongo Shellを起動します:

`c:\mongo\bin\mongo.exe` or

ビンまで行き、入力しますmongo

注:管理者モードでターミナルを開く

于 2020-05-03T16:12:00.697 に答える
0

ちょうど試して:

sudo service mongod restart 
于 2020-05-30T11:35:22.463 に答える
0

サンプルソリューションWindow+Rを押し、services.mscと入力して、マシン上のすべてのサービスを表示します。次に、MongoDBServerを見つけて右クリックし、起動します。次に、C:\ Program Files \ MongoDB \ Server \ 4.2 \ binに移動し、コマンドpromtでmongoと入力します。

于 2020-07-28T11:35:01.737 に答える
0

ローカルデータベースmongoで127.0.0.1:27017への接続中にエラーが発生しました::原因::接続が拒否されました:

このコマンドを使用してみてください

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

于 2021-05-20T15:09:28.517 に答える
0

この作品は私のためです。LinixUbuntu20の場合

  1. sudo systemctl start mongod
  2. sudosystemctlデーモン-リロード
  3. sudo systemctl start mongod(YES AGAIN)
  4. sudo systemctl status mongod(mongoステータスを確認してください!)
  5. sudo systemctl enable mongod
  6. モンゴ
于 2021-07-05T20:50:34.593 に答える
0

私はmongodサービスをマスクしていたので、このコマンドを使用して削除する必要がありました。

sudo systemctl unmask mongod

その後、サービスを再起動します

于 2021-07-30T16:01:10.480 に答える
0

このエラーの原因として考えられるものの1つは、MongoDbサーバーのプロセス/サービスが実行されていないことです。実行されているかどうかを確認します。実行されていない場合は、以下のスナップショットに示すように、タスクマネージャーからMongoDbサーバーサービスを開始してみてください。

ここに画像の説明を入力してください

于 2021-12-12T12:38:54.533 に答える
-1

Ubuntu 18.04LTS:以前のバージョンを完全にアンインストールして4.2.6をインストールすると、問題が発生します

何時間もグーグルした後、私は別の問題を解決しました

MongoDBの起動に失敗しました-***fassert()の失敗後に中止します

すべてが問題ないように見えるので、問題がサーバーに接続できないことについて私は絶望的でした。

最後に、私はオペレーティングシステムを再起動して何を推測することにしました...ビンゴ

sudo mongo // works like a charm
于 2020-05-24T19:56:37.330 に答える