0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2(Ubuntu etc.)にMongoDBを導入する

Last updated at Posted at 2023-08-30

注意

私も初めてMongoDBをWSL2 Ubuntu(20.04 LTS)環境で使用するため、MongoDB自体についての知識が不足している。そのため、「このようにしたら動作する」、「このようにしたらエラーが解消される」といった操作と結果の対応関係のみを書くことに努める。

インストール

MongoDB公式ページの以下の章を参照(Ubuntu以外のLinuxディストリビューションの場合は、対応するページを参照)。

  • "Install MongoDB Community Edition"
  • "Run MongoDB Community Edition"

systemctl start mongod, mongod --dbpath, mongosh etc.

Mongo Shellを利用するためにmongoshコマンドを使うが、正常に起動しない場合がある。しかし、以下の2つの場合では正常な起動が確認された。尚、systemctlコマンドを使用するのは、systemdの場合であることに注意されたい(cf. MongoDB公式ページ)。

パターンA
1. sudo systemctl start mongod でサーバを起動する。
2. sudo systemctl status mongod で起動を確認。
3. mongosh コマンドを実行。
パターンB
1. sudo systemctl stop mongod でサーバを停止させる。
2. sudo systemctl status mongod で停止を確認。
3. sudo mongod --dbpath <任意のDirPath(e.g. ~/foo/data/db)>
4. プロンプトが帰ってこないため、ctrl+cなどで停止せず、もう1つターミナルを用意する。
5. 新しいターミナルで mongosh コマンドを実行。

パターンAの場合、/var/lib/mongodb 配下にデータベースが作成され、パターンBの場合、任意のディレクトリ(e.g. ~/foo/data/db)配下にデータベースが作成される。これらは互いに干渉しない。

パターンAにおいてデータベースがデフォルトで作成されるディレクトリは、/etc/mongod.conf に記載がある。これについては、MongoDB のインストール時に apt-get を用いたか否かなどにより、個人差が生じるようなので要確認。

よくあるエラーの対処

sudo systemctl status mongod などで、エラーメッセージが表示されることがある。その場合は、以下の方法(.sockのユーザパーミッション変更 or /tmp/mongodb-27017.sockの削除)で改善することがある。

その他参考ページ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?