MongoDB のシャットダウン/停止

Bilal Shahid 2023年6月20日
  1. MongoDB の起動
  2. MongoDB の停止
  3. シャットダウン コマンド
  4. マニュアルに記載されている方法
  5. 単一行コマンド
MongoDB のシャットダウン/停止

MongoDB は、ユーザーがデータベースを簡単に整理して複数のタスクを実行できる人気のあるプラットフォームです。 ただし、新しいインターフェイスのコツをつかむには少し時間がかかる場合があります。

プラットフォームを開始または停止するための新しい方法を探しているのはよくあることです。 同様に、MongoDB を停止する新しい方法を探している場合は、適切な場所にいます。

この記事では、MongoDB を停止する複数の方法について説明しているため、最も簡単な方法を選択できます。

MongoDB の起動

MongoDB を終了する複数の方法について説明する前に、MongoDB を開始する簡単な方法について説明することをお勧めします。 これを行う最も一般的な方法の 1つは、以下のコードを使用することです。

./mongod

このコマンドにより、MongoDB を起動して使用を開始できます。

MongoDB の停止

MongoDB を停止するには、複数の方法があります。 最適と分類できる特定の方法はありません。

代わりに、ユーザーは好みや MongoDB の使用方法に基づいて方法を選択することがよくあります。 MongoDB を停止できる多くの方法の一部を次に示します。

シャットダウン コマンド

最も一般的な方法は、おそらく shutdown コマンドを使用することです。 以下に示すように、数行の短いコードを使用します。

./mongo
use admin
db.shutdownServer()

これにより、MongoDB を問題なく即座に停止できます。

マニュアルに記載されている方法

MongoDB のマニュアルを参照すると、シェル、cli、ドライバーなどを使用して停止する方法が提案されている場合があります。 さらに、突然または誤って停止するリスクについても説明します。

マニュアルに記載されているMongoDBの停止方法は以下の通りです。

パッケージで使用する

Ubuntu や Debian などのパッケージで MongoDB を使用している場合は、このコードを使用して簡単に停止できます。

Upstart:

sudo service mongod stop

Sysvinit:

sudo /etc/init.d/mongod stop

Mac OS X ベースのシステム

Mac OS X で動作するシステムを使用している場合は、別のプロセスを選択する必要があります。 基本的に、最初にプロセス ID を見つけて、それを使用して停止する必要があります。

したがって、最初のステップは、次のコマンドを使用して MongoDB プロセスの PID を見つけることです。

$top

これは、現在使用中のすべての PID をリストします。 リストをざっと見て、MongoDB に指定されているシステム上のものを特定します。

見つけたら、このコード行を使用して停止させます。

$ kill <PID>

ここで、タグ内の PID を、MongoDB に対応するシステム用に特定した PID に置き換えます。

Red Hat ベースのシステム

Red Hat システムでは非常に簡単です。 必要なのは 1 行のコードだけです。

service mongod stop

Windows ベースのシステム

Windows の場合も同様に非常に簡単です。 MongoDB という名前のサービスとしてインストールした場合は、これを使用すると問題なく動作します。

net stop MongoDB

ただし、サービスとしてインストールしておらず、Windows 7 以降を使用している場合は、次の行で MongoDB を停止できます。

taskkill /f /im mongod.exe

単一行コマンド

大多数のユーザーは、事実上すべてに対する迅速な解決策を望んでいます。 同じように、一部のユーザーは、自分の仕事を成し遂げることができる単純なコード行を常に探し求めています。

MongoDB をシャットダウンする場合、1 行のコードでシャットダウンを完了する方法がいくつかあります。 これらの方法のいくつかは、すでに上で説明されています。

1つの行の中でさらに可能性を掘り下げたい場合は、さらにいくつかの行があります。

エイリアスを使用する

コードを単純化する最も簡単な方法は、エイリアスを使用することです。 同じことを行って、MongoDB を停止するコードを 1 行で生成できます。

mongo --eval "db.getSiblingDB('admin').shutdownServer()"

マニュアルの推奨事項

MongoDB チュートリアルでも、1 行でソリューションが提供されます。 これは頻繁には使用されませんが、それでも機能します。

mongod --dbpath /path/to/your/db --shutdown

フォアグラウンド プロセス

MongoDB がフォアグラウンド プロセスとして実行されている場合は、Ctrl+C を使用して停止できます。 これはすべてのインスタンスで機能するとは限らないことに注意してください。

別のファイルを作成する

もう 1つの方法は、ファイルを作成して次のコードを保存することです。

mongo admin --eval "db.shutdownServer()"

ファイルの名前は、mongostop.bat または類似の名前にすることができます。 これで、ファイルを実行すると、MongoDB が自動的に停止します。

kill コマンド

上で説明したように、top コマンドは、MongoDB を停止するための PID を見つけるのに役立ちます。 ただし、kill コマンドにもバリエーションがあります。

kill -2 PID

これにより、シグナル 2 または SIGINT が送信され、-2 を削除すると、シグナル 15 または SIGTERM が送信されます。

複数のインスタンスを実行している場合、または PID が重要でない場合は、pkill コマンドを使用することもできます。 これにより、すべての MongoDB プロセスにシグナルを送信できます。

pkill mongodb

ただし、次のように、ユーザーに属するプロセスのみをターゲットにする方がはるかに安全です。

pkill -U $USER mongod

注: 管理者権限を持っているが、データベースが別のユーザーとして実行されている場合は、上記のコマンドの前に sudo を追加して使用する必要があります。 これがないと、機能しない可能性があります。

クリーンでないシャットダウンは、MongoDB またはシステムでさまざまな問題を引き起こす可能性があります。 これが、MongoDB の正しく安全なシャットダウンを識別することが重要な理由です。

今後これで問題が発生しないように、この記事全体でさまざまな方法を紹介しました。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub