Windows Tips

WSL (Ubuntu 16.04 TLS) に MongoDB をインストールする

投稿日:

WSL (Ubuntu 16.04 TLS) に、MongoDB をインストールする手順について説明します。

1. インストール手順

基本的には、Install MongoDB Community Edition on Ubuntu — MongoDB Manual に書いてある通りに進めます。

同じページに書いてありますが、Ubuntu が提供している mongodb というパッケージを使うことは推奨されていません。MongoDB が公式に提供していて、常に最新版への更新が行われている mongodb-org というパッケージを使うべきであるとのことです。今回はこれに従います。

(1) インストールするパッケージを認証するためのキーをインポートします。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

(2) パッケージ管理システムである APT の設定ファイルに、今回使用するレポジトリの情報を書き込みます。

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

(3) ローカルのパッケージデータベースを更新します。

$ sudo apt-get update

(4) MongoDB のパッケージ mongodb-org をインストールします。

$ sudo apt-get install -y mongodb-org

2. MongoDB を起動する

(1) root 以外のユーザーで MongoDB を起動する場合は、以下のディレクトリのパーミッションを変更しておきます。

$ sudo chmod 777 /var/lib/mongodb
$ sudo chmod 777 /var/log/mongodb

(2) MongoDB (サーバープログラム) を起動します。

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

--fork オプションを指定したことにより、MongoDB がバックグラウンドで稼働します。フォアグラウンドでよいなら、このオプションは必要ありません。

Ubuntu 16.04 に mongodb-org をインストールした場合、service コマンドでサービスを操作することができないようです。そのため、ここでは mongod コマンドを直接実行しています。
Ubuntu が提供している mongodb パッケージであれば、service コマンドでサービスを操作することができるようです。

こちらで議論されていました。
Install MongoDB in Windows Linux Subsystem · Issue #796 · Microsoft/WSL · GitHub

3. MongoDB に接続する

MongoDB のクライアントプログラムを実行します。

$ mongo

MongoDB に接続できていれば、例えば以下のようなコマンドに対して結果を返してくれるはずです。

> db.version()
4.0.0
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

4. MongoDB を終了させる

フォアグラウンドで起動した mongod を終了させるには、Ctrl + C キーを押して SIGINT シグナルを送ればよいのですが、バックグラウンドで稼働している MongoDB (mongodプログラム) を終了させる場合は、まず ps コマンドで該当するプロセスの番号を調べます。PID という列です。

$ ps aux | grep -E '(%MEM|mongod)' | grep -v grep
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     17241  0.3  0.3 1018112 41924 ?       Sl   16:18   0:02 mongod --fork --config /etc/mongod.conf

ps コマンドは稼働しているプロセス一覧を表示しますが、この一覧の中の「タイトル行も出力したい」「今実行した grep コマンドは出力させたくない」という2つを合わせて実現するために、grep コマンドの指定方法が少し複雑になっています。

ここでは、「17241」となっています。

kill コマンドで、この番号のプロセスを終了させます。

$ sudo kill 17241

5. 参考

📂-Windows Tips

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Windows

Alt + Tab キーでEdgeの個別タブを切り替え候補にしない設定手順(Windows 10 20H2)

目次1. はじめに2. 20H2 で Alt + Tab の何が変わったのか従来20H2 での変更3. 以前の挙動に戻す4. 問題点5. おわりに 1. はじめに Windows 10 バージョン 2 …

Windows

「Windows 追跡アプリの起動を許可してスタート画面と検索結果の質を向上します」は誤訳なのでは?

Windows 10 の [設定] – [プライバシー] – [全般] を開くと、 Windows 追跡アプリの起動を許可してスタート画面と検索結果の質を向上します という項目 …

Windows

Windows 10 でファイル・フォルダを共有する方法

Windows 10 におけるフォルダ共有機能について主な設定項目について説明します。

Windows

ツールパネルウィンドウが畳まれた状態で Adobe Acrobat Reader DC を起動する

Adobe Acrobat Reader DC を起動した時、右側に表示される「ツールパネルウィンドウ (Tools pane)」が邪魔に感じたことはないでしょうか? ツールパネルウィンドウというのは …

画像をモノクロ2階調に変換する方法(GIMP使用)

画像をモノクロ2階調に変換する方法について説明します。 「グレースケール」ではなく「モノクロ2階調」です。 目次1. グレースケールとモノクロ2階調2. なぜ、モノクロ2階調にするのか?3. 本ページ …