MongoDbはコード100でシャットダウンします[クローズ]


91

私はMongoDBの続きドキュメント、セットアップへの私の最初のMongoDBを

コマンドを使用してMongoDBを起動すると

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

次のエラーが発生します ここに画像の説明を入力してください

回答:


148

MongoDBには、データベースを保存するためのフォルダーが必要です。C:\data\db\ディレクトリを作成します。

mkdir C:\data\db

次に、MongoDBを起動します。

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

C:\data\db以前のインストールにより、フォルダがすでに存在する場合があります。したがって、この理由でmongod.exe機能しない場合は、C:\data\dbフォルダからすべてのコンテンツを削除して、mongod.exe再度実行することができます。


エラーの詳細が表示された場合は、ディレクトリC:\data\db\ が見つからなかったことを示す行があります。使用:mkdir C:\data\db
cespon 2017年

@cesponゴールドタグ..:P
Aravind

私のは実際に/mongodb_data/db
Fabricio

データディレクトリとファイルがmongodbユーザーとグループ(Linuxの場合)によって所有されていることを確認してください。
PeterM 2018

70

macOSユーザーがこの問題を修正するには:

次の手順を実行する必要があります。

「db」ディレクトリを作成します。これは、Mongoデータファイルが存在する場所です。次のコマンドを実行して、デフォルトの場所にディレクトリを作成できます。

sudo mkdir -p /data/db

次のコマンドを実行して、/data/dbディレクトリに適切な権限があることを確認してください。

sudo chown -R `id -un` /data/db

これですべての設定sudo mongodが完了し、実行してMongoサーバーを起動できます。

実行するだけでは機能しません mongod

ソース


4
ubuntu 16.04でも同じ
Manoj Rana

mkdir: /data/db: Read-only file system最初のコマンドを実行すると取得します。どうすればこれを修正できますか?ありがとうございました。
LC

@LC mkdirコマンドにsudoを追加
Itay Bachar


15

C:\data\dbWindowsのデフォルトのdbフォルダーを変更するには、コマンドは次のとおりです。

--dbpath

例えば:

\mongod --dbpath C:\myfolder

7

Macユーザー

次のコマンドでMongoDBを実行する代わりに:

sudo mongod

次のmongod場合は、代わりに使用できます。

  1. mongodbのデータフォルダーを見つけます(通常は〜/ data)
  2. 読み取り+書き込みの権限を追加します sudo chmod -R ugo+rw data

sudomongodb(sudo mongod)を実行するときに使用する必要がある場合は、mongodbデータフォルダーに対する読み取りおよび書き込み権限がないことを意味します。


1
これをありがとう。/ dataへの読み取り+書き込みのアクセス許可を追加する必要がありました。何が間違っているのかわかりませんが、データフォルダーを〜/ Applications / mongodb / dataに設定しました
vinsentos 2017

3

次の手順を実行してください。

  1. 他の友人が述べたように、データベースデータを保存するためのディレクトリを最初に作成する必要があります。このフォルダは次のようになります。

    C:\ mongo-data

  2. コマンドラインから、mongodbをインストールした場所とmongod.exeが存在する場所に移動します。私の場合、フルパスは次のとおりです。

    C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin

  3. ここからmongod.exeを実行し、次のようにフラグ--dbpathを使用してステップ1で作成したフォルダーへのパスを渡します。

    mongod.exe --dbpath "C:\ mongo-data"

注意:Windowsを使用している場合、正しく実行するには、上記の二重引用符( "")を使用する必要があります。

このようにして、次のようなものが得られます。

2017-06-14T12:45:59.892+0430 I NETWORK  [thread1] waiting for connections on port 27017

Windowsで一重引用符( '')を使用すると、次のようになります。

2017-06-14T01:13:45.965-0700 I CONTROL  [initandlisten] shutting down with code:100

それが問題の解決に役立つことを願っています。


1

コマンドを使用してMongoDBデーモンを実行するにmongodは、データベースディレクトリが必要です。おそらく、次のコマンドを実行する必要があります。

mkdir C:\data\db

また、MongoDBにはそのディレクトリの書き込み権限が必要sudo mongodです。そうでない場合は、のようなスーパーユーザー権限で実行する必要があります。


1

(mac osで)mongodbを起動しようとすると、次のエラーが発生し続けました。

"shutting down with code:100"

私は次のコマンドを使用していました:

./mongod --dbpath=~/mongo-data

私にとっての修正は、「=」記号が不要であり、これがエラーの原因であったことでした。だから私はしました

./mongod --dbpath ~/mongo-data

エラーがこれが問題であることを決して指定しないので、これをそこに捨てたかっただけです。〜/ mongo-dataディレクトリの内容をほとんど削除して、それが役立つかどうかを確認しました。CLI引数で「=」記号が使用されない場合があることを思い出しました。


1

まず、MongoDBがデータを保存するデータディレクトリを作成する必要があります。MongoDBのデフォルトのデータディレクトリパスは、MongoDBを起動するドライブの絶対パス\ data \ dbです。

C:/ドライブにインストールしている場合は、data \ dbディレクトリを作成する必要があります。cmdでこの実行コマンドを実行するため

C:\>mkdir data\db

MongoDBを起動するには、mongod.exeを実行します。

"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"

--dbpathオプションは、データベースディレクトリを指します。 ここに画像の説明を入力してください

MongoDBに接続します。

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"

すべてがうまく機能することを確認するには:

show dbs

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


1

1.エラー(コード100でシャットダウン)が表示された場合は、ファイルの目的の場所が見つからないことを意味します。

1.a macOS Catalinaの前の場合は、sudo mkdir -p / data / dbを使用してディレクトリを作成し、それを使用する権限を
sudo chown -R id -un/ data / dbに付与します。

1.b macOS Catalina以降の場合は、sudo mkdir -p / System / Volumes / data / dbを作成し、sudo chown -R id -un/ System / Volumes / data / dbの権限を付与します。

2. mongo dbbrewサービスを開始してmongodb-communityを実行します

3.mongodまたはmongod--dbpath / System / Volumes / Data / data / dbと入力します

4.そして、mongodがエラー(コード48でシャットダウン)を示した場合、それ
はポートがすでに使用されていることを意味するので、2つのことができます

4.aポート
番号mongod--dbpath / System / Volumes / Data / data / db —port 27018を指定して、mongodのポートを変更します。

4.bまたは、sudo lsof -i:27017でプロセスを見つけて、コマンド
kill -9でkillすることにより、そのポートでプロセスを強制終了できます。

5.手順2と3を繰り返します。


1

macOSユーザーの場合、以下の問題に対処します。

.tgzTarballを使用してmacOSにMongoDBコミュニティをインストールする場合

((macOS 10.15 Catalina以降、Appleは/ data / dbのMongoDBデフォルトデータディレクトリへのアクセスを制限します。macOS10.15Catalinaでは、/ usr / local / var / mongodbなどの別のデータディレクトリを使用する必要があります。))

次のように解決できます。

(MacOS Catalina以降)

Appleは、セキュリティの目的でカタリナに新しいボリュームを作成しました。Catalinaを使用している場合は、System / Volumes / Dataに/ data / dbフォルダーを作成する必要があります。

次のコマンドを使用します。

sudo mkdir -p /System/Volumes/Data/data/db

次に、次のコマンドを使用して権限を付与します。

sudo chown -R `id -un` /System/Volumes/Data/data/db

これは通常に置き換わります

sudo mkdir -p /data/db

次のコマンドを実行して、/ data / dbディレクトリに適切な権限があることを確認します。

sudo chown -R `id -un` /data/db

mongoDBを終了して起動すると、ターミナルで以下を使用できます。

sudo mongod --dbpath /System/Volumes/Data/data/db

0

ではMacOSの: -

mongoサーバーの実行中に以前に作成したデータベースのパスを指定するのを忘れた場合、上記のエラーが表示されます。

sudo ./mongod --dbpath ../../mongo-data/

参照

注:-。/ mongod && ../../mongo-dataは相対パスです。したがって、環境変数で構成することで回避できます

参照


0

Windowsの場合も同じ問題が発生します。

修正は-管理者としてコマンドラインを実行する必要があります。


1
「Windowsでこの問題が発生した場合は、管理者としてコマンドラインを実行していることを確認してください」のように答えを言い換えることをお勧めします。
フィルナー2018年

0

すでにディレクトリがある場合は、dirのパーミッションを確認するか、sudoを使用してmongoを再起動してみてください。sudobrewサービスがmongodbを開始


0

私の場合、同様のエラーが発生しました。これは、rootユーザーでmongodを実行し、rootのみがアクセスできるログファイルを作成したために発生していました。所有権をrootから通常mongodを実行するユーザーに変更することで、これを修正できます。ログファイルは/ var / lib / mongodb / journal /にありました


0

Virtualboxを使用しています。VMを確認してください。

docker-machine ssh

df -h

空き領域がない場合は、dev / sda1を確認してください。これは、多数のイメージまたはコンテナーが原因である可能性があります。「dockerrm」と「dockerrmi」を使用してそれらを削除できます


0

この終了コードは、MongoDBのバージョンを変更していて、ダウングレードなどでデータディレクトリに互換性がない場合にも表示されます。古いディレクトリを別の場所に移動し、新しいディレクトリを作成します(他の回答の指示に従って)。


0

アラヴィンド。

タスクマネージャーでMongoDBを停止したので、私もそうなりました。

C:\ data \ dbフォルダーを作成し、C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exeでMongoDBを起動すると、cesponが提案したように機能しましたが、MongoDBにデータベースが表示されませんでした以前に作成されました。

次に、C:\ data \ dbフォルダーを削除し、MongoDBインストーラーを使用してインストールを修復し、データを回復して、通常どおりMongoDBを起動しました。

(私はMongoDBを初めて使用しますが、この問題を解決し、データのプレビューを回復するのに役立ちました)。


0

mongodと入力してエラーが発生する

エラー:

initAndListenの例外:NonExistentPath:データディレクトリ/ data / dbが見つかりません。、終了します

コード100でシャットダウンします

次に、(すべての権限でデータとdbフォルダーを作成する)を試してください。

mongod --dbpath = / data

新しいタブを使用して、mongoと入力します。

> dbsを使用する

それでも問題に直面している場合は、mac catalinaを確認できます:(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/

Windowsの場合:https//docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/

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