まず、時間がない方に言っておきます。
この記事は、インストールの失敗例です。
そのため、答えを求めている方は読むだけ時間の無駄です。
この記事では、同じようにインストールに失敗した人向けの内容です。
この記事では、公式のダウンロードページに基づいて、インストールを行います。
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/
でも、失敗しています。
本当に謎です。
本記事の内容
- WindowsでMongoDBのダウンロード
- WindowsにMongoDBをインストール
- WindowsでMongoDBを起動する
- 「WindowsにMongoDBをインストール【エラーで起動失敗例】」のまとめ
それでは、上記に沿って説明していきます。
WindowsでMongoDBのダウンロード
MongoDBの公式ダウンロードページ
https://www.mongodb.com/try/download/community
まずは、上記にアクセスします。
そして、インストーラーをダウンロードします。
ダウンロードするのは、安定版4.2.8(2020年07月26日時点)です。
Available Downloadsには、以下が表示されています。
Version | 4.2.8 |
Platform | Windows |
Packgae | msi |
Versionは、ダウンロード時の最新(安定版)を選択します。
PlatformとPackageは、上記と同じことを確認してください。
問題なければ、「Download」ボタンをクリック。
保存先を聞かれます。
保存先は、適当な場所で問題ありません。
とりあえず、「C:\download」に保存します。
ダウンロードが完了すると、C:\downloadに以下のファイルが保存されています。
mongodb-win32-x86_64-2012plus-4.2.8-signed.msi
WindowsにMongoDBをインストール
Windows7とWindows8以上でインストール方法が異なります。
異なると言っても、「SHOULD_INSTALL_COMPASS=”0″」を追加するかしないかだけです。
Windows 8以上のみ、MongoDB Compassがインストール可能です。
MongoDB Compassは、GUIツールですね。
そして、「SHOULD_INSTALL_COMPASS=”0″」は、MongoDB Compassをインストールしないということですね。
よって、Windowsのバージョン違いは、それほど気にする必要はありません。
では、インストールを行います。
まずは、コマンドプロンプトを管理者権限で開きます。
公式ページに、目立つように注意書きがあります。
そして、次ぎにインストーラーの場所まで移動します。
今回は、C:\downloadに保存しました。
よって、そこまで移動です。
cd C:\download
移動できたら、次ぎのコマンドを実行します。
※Windows 7の場合、最後に「SHOULD_INSTALL_COMPASS=”0″」を追加
インストール先はデフォルトのまま
msiexec.exe /l*v mdbinstall.log /qb /i mongodb-win32-x86_64-2012plus-4.2.8-signed.msi
この場合は、C:\Program Files\MongoDB\Server\4.2\bin.にバイナリが保存されます。
インストール先を指定
msiexec.exe /l*v mdbinstall.log /qb /i mongodb-win32-x86_64-2012plus-4.2.8-signed.msi INSTALLLOCATION="C:\soft\MongoDB\Server\4.2\"
コマンド実行前に、フォルダーを作成しておく必要はありません。
上記コマンドで自動的に作成してくれます。
個人的には、こちらの方がいいです。
好き嫌いの部分がありますので、どちらでも問題ありません。
上記の「msiexec.exe」コマンドを実行すると、以下が示されます。
そして、インストールが完了すると、自動的にこの表示は閉じられます。
「SHOULD_INSTALL_COMPASS=”0″」を追加していないなら、次のような画面が表示されます。
MongoDB Compassです。
とりあえず、今は閉じておきます。
binの内容を確認しておきます。
作業ログも確認しておきましょう。
ログは、mdbinstall.logという名前でインストーラーと同じ場所にあります。
MSI (s) (28:5C) [14:00:58:424]: Windows インストーラーにより製品がインストールされました。製品名: MongoDB 4.2.8 2008R2Plus SSL (64 bit)、製品バージョン: 4.2.8、製品の言語: 1033、製造元: MongoDB Inc.、インストールの成功またはエラーの状態: 0
成功のようです。
これでインストール完了です。
WindowsでMongoDBを起動する
インストール同様、起動の際にも管理者権限が必要です。
管理者権限でコマンドプロンプトを起動します。
データディレクトリを作成する
MongoDBのデフォルトのデータディレクトリは、「/data/db」です。
そのため、そのディレクトリを作成するコマンドが公式ページに記載されています。
cd C:\ md "\data\db"
「いやいや、これは嫌でしょ」と思いませんか?
そんな当たり前過ぎる名前なら、すでに作成(利用)しているかもしれません。
あと、Cの直下も嫌です。
たかだか、1ソフトのデータディレクトリをなぜC直下に置かないとダメなのでしょうか?
おっと、本筋から外れました。
だから、ここはデフォルト任せにはしません。
次ぎのコマンドでMongoDBの中に閉じ込めます。
cd C:\ md "C:\soft\MongoDB\data"
MongoDBを起動する
すべてデフォルトなら、次ぎのコマンドで起動可能です。
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"
今回は、インストール先とデータディレクトリを指定しています。
インストール先(バイナリの場所) | C:\soft\MongoDB\Server\4.2\bin\mongod.exe |
データディレクトリ | C:\soft\MongoDB\data |
この場合は、以下のコマンドが起動コマンドとなります。
"C:\soft\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="C:\soft\MongoDB\data"
これを実行すると、エラーができます。
下記の全パターンで試しましたが、同じエラーが出ます。
※全パターンをデフォルトでインストールすることも試しました
- Windows 7のコマンドプロンプト
- Windows 10のコマンドプロンプト
- Windows 10のPowerShell
「mongod.exe」が存在しないというエラーです。
確かに、binの中にもmongod.exeなんてファイルは存在していません。
全パターンです。
とりあえず、一旦作業は中止します。
「WindowsにMongoDBをインストール【エラーで起動失敗例】」のまとめ
ここまで行くと完全にマニュアルがオカシイのか、インストーラーがバグってるのかと言うレベルです。
もちろん、私自身が間違っている可能性もあります。
ただ、検索しても情報が見つからないのですよね。。。
そもそも、WindowsでMongoDBを使うという需要がないのかもしれません。
ただ、公式のインストール手順通りにして、失敗したのは初めてです。
数多くのインストール作業を経験していますが、ここまで盛大にエラーが出るのは。
再度、方法を変えてインストールを試みます。
とりあえず、この記事は、これはこれで公開します。
同じようにエラーが出ているケースがあると言うのは、役に立つ情報です。
どのような効果かと言うと、諦めが付くのです。
「私だけではない」というのは、どんなときでも心の拠り所になりますからね。
追記 2020年08月10日
やはり、公式の不具合です。
手順なのかインストーラーなのか、どちらに原因があるのかはわかりません。
ただ、公式のインストール手順に従ってもインストールはうまくいきません。
GUIで適当にインストールしたら、成功しました。
成功したケースは以下の記事をご覧ください。