Linusサーバ(またはMacOS)でのMongoDBの起動、停止方法を解説します。
「ERROR: child process failed, exited with error number 100」が出た時の対処法についても解説します。
Contents
MongoDB(データベース)の起動方法
LinusサーバでのMongoDB(データベース)の起動方法はフロントで起動させる方法とバックグラウンドで起動させる方法の2種類あります。
バックグラウンド起動の利用が便利です。
MongoDBのデータベース起動(フロント起動)
フロント起動の場合のコマンドは以下です。
ターミナルが操作できなくなるので、別のターミタルを立ち上げてDB操作等のコマンドを実行します。
sudo mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb.log
下の画像のようにコマンド操作はできなくなります。

「–dbpath」にはMongoDBのデータベースの格納場所のパス、「–logpath」にはログの格納場所を指定します。
データベースのパスを間違えると全く別のデータのデータベースが起動してしまうので、起動コマンドはテキストエディタ等に残しておきましょう。
MongoDBのデータベース起動(バックグラウンド起動)
バックグラウンド起動のコマンドは以下です。
sudo mongod --fork --dbpath /var/lib/mongo --logpath /var/log/mongodb.log
「–fork」オプションでバックグラウンドで起動するので同一のターミナルで操作ができます。
MongoDB起動後のDB操作の流れ
ターミナル上でmongoコマンドを使ってMongoDBにアクセスします。
use (データベース名)でデータベースに接続できます。
//mongoコマンドでMongoDBに接続 mongo //use(データベース名)でデータベースに接続 use databaseA
MongoDB(データベース)を停止する
MongoDBを停止する方法はMongoDB上でシャットダウンコマンドをたたく方法、Linuxサーバ上でプロセスをkillする方法があります。
(Linuxサーバの再起動やシャットダウンでもMongoDBは停止します)
MongoDBシャットダウンコマンドで停止する
MongoDBシャットダウンコマンドでMongoDBを停止することができます。
mongoコマンドでMongoDBに接続し、adminユーザでdb.shutdownServer()を実行することでMongoDBは停止します。
mongo use admin db.shutdownServer() exit
Linuxサーバ上でプロセスをkillする
Linuxサーバ上でプロセスをkillするにはpgrepを利用します。
pgrepでmongoのプロセスIDを取得して、killコマンドで停止します。
pgrep mongo sudo kill xxxxx
起動エラーの対処法(ERROR: child process failed, exited with error number 100)
MongoDB起動時に「ERROR: child process failed, exited with error number 100」が発生した場合の対処法です。
発生条件
「–fork」オプションで起動(バックグラウンド起動)させた際に「–dbpath」のパスが誤っていると発生します。
sudo mongod --fork --dbpath /var/lib/mongodb --logpath /var/log/mongodb.log
「–logpath」のパスが誤っていた場合はerror number 1となります。
/etc/mongod.conf(個人アカウントの場合、/usr/local/etc/mongod.conf)から正しいdbPathを確認できます。
下の画像はmongod.confをcatした場合の出力結果です。

MongoDBの起動・停止方法まとめ
MongoDBの起動方法として、フロント起動、バックグラウンド起動を紹介しました。
MongoDBは–dbpathでデータベースの保存場所を指定することができますが、パスが存在しなければエラーとなります。
MongoDBの使い方まとめに戻る。
自作アプリケーションを作るならさくらのVPS
が手軽で使いやすいです。MongoDBは軽いので最低料金プランのVPSでも運用できます。【初めてでも簡単!】VPSの比較ランキングでも紹介しています。


コメントを残す